bei score +1 speed +1, bei score -1 speed -1

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

  • bei score +1 speed +1, bei score -1 speed -1

    Ich habe ein spiel bei dem man auf einen sich bewegenden ball klicken muss.Mit jedem Treffer bekommt man einen Punkt, bei jedem danebentreffer einen punkt minus. ich möchte jetzt per code sowas wie if score relative +1 >speed relative +1 if score relative -1 > speed relative -1. hier ist ein Ansatz von mir, aber der funktioniert noch nicht ganz, und das bewegen des Balls per code hab ich auch noch nicht verstanden...
    5-min-pixel "art" um 0 Uhr als Accountbild :sleeping: -_-
  • Ich würde mal auf die Schnelle behaupten, dass du anstatt =+ += schreiben musst.

    Beziehungsweise wenn du es gleichsetzen willst: score = speed ??

    Ah vielleicht einfach da wo du den score hoch/runterzählen lässt noch einfach speed dazusetzen. Also: wenn geklickt und getroffen, dann score+=1 und speed +=1

    Und vielleicht deine if-Bedingung in Klammern schreiben und der Code der dann ausgeführt werden soll in geschweifte Klammern, ist später dann leichter :)
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • funktioniert das so? und, wie kann ich per code den Ball diese Aktionen ausführen lassen: "teleportiere" zu einem zufälligen punkt im raum und starte dann mit speed +1 in eine zufällige richtung? (ich hatte das schon mit den Drag and Drop objekten gemacht, das geht aber jetzt ja nicht mehr)
    5-min-pixel "art" um 0 Uhr als Accountbild :sleeping: -_-
  • Ob es funktioniert merkst du ja, wenn du es ausprobierst :) Lasst dir halt sonst die Variablen anzeigen oder im Debug-Mode solltest du sie auch sehen.
    Warum geht das "Jump to a random position" nicht mehr? Prinzipiell kannst du D'nD und GML kombinieren.
    Aber per Code würde ich das wie folgt machen:

    GML-Quellcode

    1. randomize()
    2. x= random(640) //maximale x-Ausdehnung des Raumes
    3. y= random (480)//maximale y-Ausdehnung des Raumes
    4. direction = random(360) // wählt richtung zwischen 0 und 360°


    Ich hoffe er bewegt sich dann auch... Ansonsten noch ein speed = x mit dazusetzen.
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • x = x-Koordinate deines Objekts.
    Deinen zweiten Teil kann ich persönlich nicht nachvollziehen, wenn du dass randomize drin hast, könnte evtl. noch irandom helfen, da bin ich aber grad gar nicht so genau sicher. Guck dafür mal evtl. in die Hilfe.
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • Ich wiederhole: X = x-Koordinate deines Objektes, wenn dein Raum 640 * 480 ist, kann dein Objekt also zwischen x= 0 und x=640 hin und hergschoben werden. Wenn du dann den speed auf x setzt, kann er (=der Ball) also auch zwischen 0 und 640 sein, nicht erstaunlich wenn er wie ein bekloppter durch das Bild rast. Und wenn du dann natürlich noch speed = score drin hast (was ja richtig zu sein scheint) ist der score halt auch zwischen 0 und 640.

    Sprich der Fehler liegt bei speed = x. Mach speed += 1 dann sollte es funktionieren.

    Ich weiß, es kann schwer sein, aber versuch mal den Code, den du schreibst, zu verstehen und die Befehle ggf. in der Hilfe nachzugucken, damit du dann auch weißt, was sie machen.
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Sk.Info.k.P. ()

  • Jojo_13 schrieb:

    Ich habe ein spiel bei dem man auf einen sich bewegenden ball klicken muss.Mit jedem Treffer bekommt man einen Punkt, bei jedem danebentreffer einen punkt minus. ich möchte jetzt per code sowas wie if score relative +1 >speed relative +1 if score relative -1 > speed relative -1. hier ist ein Ansatz von mir, aber der funktioniert noch nicht ganz, und das bewegen des Balls per code hab ich auch noch nicht verstanden...


    Das kannst du viel einfacher machen... da du ja willst das dein Score und dein Speed die gleiche Geschwindigkeit haben deklarier einfach eine Variable.
    Erstelle im Create Event eine Variable Namens spd =0;

    im step event dann speed = spd;
    und score = spd;

    und dann if mouse_check_button(mb_left){
    spd +=1; // Mit += sagst du es soll der Wert hinzugefügt sein wenn du das plus nach dem = machen würdest würdest du sagen der wert ist +1 und jedes mal wenn das event ausgeführt wird bekommt dein objekt gesagt es ist +1 genau so umgekehrt... wenn du da ein -1 schreiben würdest, würde da auch immer -1 stehen
    }
    Wir stehen zusammen und wir fallen zusammen