abhängige Geschwindigkeit

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • abhängige Geschwindigkeit

    Hallo zusammen!

    Zuerst eine kurze Beschreibung meines Vorhabens:
    Ich möchte, dass ein Pfeil beim Mausklick in die Richtung der Maus geht. Die Geschwindigkeit soll dabei von der Länge des Mausklicks abhängig sein.

    Meine Frage:
    Wie kann ich die Geschwidigkeit abhängig der Länge des Mausklicks machen? ?(
    Dabei sollte die Geschwindigkeit mit Hilfe eines Reglers angezeigt werden, der auf und ab geht.
  • Nein, ich glaub er meint, dass je länger man die Maustaste gedrückt hält, umso schneller wird der Pfeil.
    Du könntest es so machen:
    Create Event:

    GML-Quellcode

    1. var_speed=0


    global mouse left button Event:

    GML-Quellcode

    1. var_speed+=1 //musst ein bisschen mit dem Wert rumprobieren, solange bis er passt


    global mouse left released Event:

    GML-Quellcode

    1. neu=instance_create(x,y,pfeil)
    2. neu.direction=point_direction(x,y,mouse_x,mouse_y)
    3. neu.speed=var_speed
    4. var_speed=0
  • Danke viel mal. Es funktioniert soweit. :)
    Ich kenn mich leider beim Schreiben von Scrips nicht aus. Habe es jechoch geschafft noch eine Gravitation zu integrieren.

    Wie erreiche ich, dass die Geschwindigkeit bis zu einem Maximum ansteigt und dass sie bei weiterem gedrückthalten der Maustaste wieder abnimmt bis zu einem Minimum und danach wieder steigt?
  • :event_create:

    GML-Quellcode

    1. t = pi;
    :event_mouse: global mouse left button

    GML-Quellcode

    1. t += 0.05; //das musst du noch anpassen, je größer dieser wert ist, desto schneller schwankt die geschwindigkeit
    :event_mouse: global mouse left released

    GML-Quellcode

    1. var neu;
    2. neu = instance_create(x,y,obj_pfeil);
    3. neu.direction = point_direction(x,y,mouse_x,mouse_y);
    4. neu.speed = (cos(t)+1)*10;//die 10 ist die hälfte des maximalen speeds (musst du noch anpassen)
    5. t = pi;


    Edit: achja und wenn du das noch in einem Balken anzeigen möchtest, das hier ins draw event schreiben: :event_draw:

    GML-Quellcode

    1. draw_set_color(c_green); //die farbe kannst du natürlich ändern
    2. draw_rectangle(5,5,5+(cos(t)+1)*50,25,false); //die koordinaten musst du noch anpassen; hier wird ein rechteck mit der breite 100 und der höhe 20 an die position (links oben) 5,5 gezeichnet
    3. draw_set_color(c_black);
    4. draw_rectangle(5,5,105,25,true);

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von J@kob ()