Pasue zwischen 2 Handlungen

  • Pasue zwischen 2 Handlungen

    Ich habe die Frage hier schon mal gestellt, aber keine Antwort drauf bekommen. (Ich find das Thema auch nicht mehr.)

    Deshalb möchte ich hier ganz konkret Fragen:

    Wie mache ich eine Pause zwischen 2 Handlungen? BSP: Ich drücke pfeil nach oben. Der Charakter bewegt sich langsam nach oben. Wenn ich aber dn Pfail 3 Sekunden lang drücke, dann beschleunigt er auf die doppelte geschwindichkeit.

    Ich habe es mit Set Alarm im Pfeiltaste oben event versucht. Doch ich weiss nicht wie ich es machen soll! Ich weiss nicht genau was die Steps sind, und ebenso wenig wozu ich einen Alarm auswählen soll.

    Kann mir das jemand näher erläutern? (Bitte mit Drag and drop...)
  • Wie wäre es mit Timeline?^^

    Weisst du wie das geht egal ich poste es einfach-

    Timeline go up:

    step:0 go up Speed 1

    step:30 go up speed 1 relative

    __________________________

    Und das auch so bei den Anderen es geht dan ganz einfach :thumbsup:

  • im create event "set variable" zb mit dem namen "schneller" (egal) auf 0.

    du gibst im key-press(!) event von deiner taste einfach dem spieler ne startgeschwindigkeit wie zb: speed=3
    und noch ein "set alarm 0" zu der gewünschten zeit, bis die geschwindigkeit höher werden soll, zb: room_speed * 3 (das wären genau 3 sekunden).

    jetzt im event alarm 0 die variable schneller auf 1

    im key event deiner taste(nicht im key press event!) fragst du ab, ob die variable schneller = 1 ist, wenn ja, dann "set variable" speed=speed+ 1(1 ist die erhöhung der speed)

    im key release event setzt du schneller wieder auf 0


    edit: timelines sind blöd =( =P
    "das war meine letzte flamewar PM an dich ."
  • @bluberblubb

    Das habe ich leider nichzt ganz verstanden. /Geht mir igendwie zu schnell.)

    Also poste ich mal das was ich selbst gemacht habe. (Mit Drag and Drop.)

    CREATE EVENT

    Set Variable speed to 0

    press <up> (event)

    Set Variable speed to +1

    if speed is larger than 1

    jump to given position [x=0 y=+2)

    set Alarm 0 to 4

    set Variable speed to +3

    if speed is largen than 3

    jumpo to given position (x=0 y= +4)




    Ich habe nähmlich mit einem neuen Projekt angefangen. Aber leider habe ich nicht viel erfahrung. Deshalb könnte der Code fehler beinhalten. (Er ist nich ganz fertig.)

    Ist das aber OK wie ich es gemahct habe? Bei dem Set Allarm bin ich mir nicht ganz sicher. Es soll eine etwa 3 sekunden lange pause sein. Dooch ich wiss nicht wie.

    (Über ein einfaches example würde ich mich auch freuen, da ich vom sehen her auch lernen kann.) :)
  • sorry für doppelpost: aber kann mir irgendjemand helfen?

    Ich versuche die ganze Zeit diese zwischenpause zu machebn, doch es klappt nicht!

    Kann mir niemand ein ganz einfaches Beispiel machen? (Example)

    Oder zumindest ganz genau sagen wie ich es machen soll? Welche events ich eröffnen muss, und was genau ich in die events reintun soll.

    Ich brauche dringend hilfe. ;(
  • Also wenn ich das richtig verstehe willst du das sich deine objekte nach 3 sekunden des Tasten drückens schneller bewegt, wenn ja hab ich das hier mal schnell für dich gemachtmove_pause.zip
    Wenn nicht schilder mir noch mal dein problem ganz genau.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Danke! Genau das habe ich gemeint!

    Das Problem ist nur: Ich bekomme immer ein example mit GML. :( Dadurch, weiss ich nicht genau was der Code bewirkt. Aber ich will ja lernen, um so etwas selbst machen zu können.

    Doch dazu muss ich es kapieren. (Mit drag and Drop.)

    Könntest du das example in Drag and Drop machen? Oder mir sagen wie ich es in drag and drop anstellen soll?
    (Ein example wäre am besten.)

    Aber trotzdem danke für das GML example. :)
  • Du hast eigentlich alles was ich als example wollte gemacht. Nur es ist in GML (Was ich nicht verstehe.)

    Es wäre also am besten den ganzen Code in Drag an Drop zu machen. (Die geschwindichkeit der Bewegung könnte aber ruhig höher sein.^^)

    Also: Wenn du einen Pfeil drückst (BSP rechts) So bewegt sich das Objekt mit einer Geschwindichkeit von 2 nach rechts.
    Nach etwa 2-3 Sekunden erhöht sich die Geschwindichkeit nach rechts auf 4.

    Das meinte ich. Das will ich in Drag and drop umsetzen, doch ich schaff es nicht. Darum wollte ich eine Drag and Drop vorlage um mir sie ansehen zu können, wie es gemacht wird.

    (Danke dass du dir die mühe gibst mir zu helfen. Ist wirklich sehr nett.) :thumbsup:
  • Drag & Drop version

    move_pause2.zip
    Um es dir zu erklären wie es funtioniert schreib ich mal was dazu.
    1
    Tasten druck muss mit einer variable überprüft werde (speed_limiter) in bsp fall
    Wird die daste gedrück geht sie auf 1 wenn nicht auf 0
    2
    wenn die tastes derückt wird und wird der alarm[0] auf 90 milsek=3 sek gestellt damit daraus keine endlos schleife wird kommt IF anweisung davor

    GML-Quellcode

    1. If speed_limiter=0 then
    2. {
    3. alarm[0]=90
    4. speed_limiter=1//dadurch das diese jetzt auf 1 steh wird die If anweisung bei weiterem drücken nicht erfüllt
    5. }

    wenn jetzt der alarm nach 3 sek angeht und die Taste immer noch gedrückt ist ( über prüft duch "speedlimiter=1" dann setzt man einfach die move_rate variable durch die neu geschwindigkeit.


    PS mein tip. weg vom drag & drop. aber so fängt jeder(auch ich) mal an und lehr dazu. siehe mein spiel

    Kleine Landschafts Demo
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Danke!

    Ich hätte z uDrag and Drop auch paar Fragen:

    Wotu ist jetzt genau der Speed limiter? Ich weiss dass du es schon angesprochen hast, doch ich will es genauer wissen.

    Und:

    Es kommt eine If anweisung vor mit Speed Limiter 0. (If speed limiter = 0)

    Aber:

    Wie kann Speeed limiter 0 sein, wenn er doch nicht null sein wird? (Also: er wird garnicht null. oder?)

    Ich bin jetzt nähmlich ein bisschen verwirrt.



    Zu GML:

    Ich weiss dass ich von D und D weg muss. Ich fange schon mit einen GML Tutorial für anfänger an.
  • Doch wenn die Rechte taste los gelassen wird dann wird speedlimiter auf 0 gesetzt sowie die Variable move_rate.
    Speedlimiter und move_rate sind natürlich nur erfunden namen
    Mann köönet sie natürlich auch "tast_druck" oder so nennen
    Im prinzip ist die variable speedlimiter da um die stelleung der Der Rechtstaste zu erkennen.
    Das der Computer immer wider alles durch rechen und imemr von ober anfängt muss darum diese variable auf 1 gesetzt berwede.
    sonst würde der alram immer wieder neu loslegen.
    Denn wenn du schreibst beim Tasten druck alarm[0]=90 dann wird er niemal bei 90 ankommen da das Rechst drücken permanent ist wird er immer wiede von 0 loslegen. Darum brauch man hier eine wariable die nach dem ersten drücken in eine andere stellung ( 1 ) geht.
    Somit kann dre alarm auf 90 hoch gehn.
    Wenn jetzt nach 90 (3 sek) diese Variable immer nochauf 1 steht und nicht durch das los lassen der rechst taste auf 0 gestellt wird

    so kann die Variable move rate( die Variable die immer zur aktuellen X-Posititon dazu gerechent wird) auf 4 erhöht werden
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Benutzer online 1

    1 Besucher