Discuss Scratch

JuMine2
New to Scratch
2 posts

Hilfe bei bewegtem Hintergrund in 2D

Hallo,

ich erstelle gerade in Scratch ein kleines Auto-Renn-Spiel mit einem bewegten Hintergrund in 2D.
Mein Problem ist, dass ich nicht weiß, wie ich es hinbekomme, dass das Auto beschleunigen und bremsen, sowie feiner lenken kann (also nicht nur 90°)


Hier ist der Link zum Projekt: https://scratch.mit.edu/projects/527068985
Wenn ihr eine Idee habt, wie ich das Problem lösen könnte, schreibt mir bitte! Danke

Last edited by JuMine2 (May 7, 2021 16:24:31)

fritz15
Scratcher
34 posts

Hilfe bei bewegtem Hintergrund in 2D

JuMine2 wrote:

Hallo,

ich erstelle gerade in Scratch ein kleines Auto-Renn-Spiel mit einem bewegten Hintergrund in 2D.
Mein Problem ist, dass ich nicht weiß, wie ich es hinbekomme, dass das Auto beschleunigen und bremsen, sowie feiner lenken kann (also nicht nur 90°)


Hier ist der Link zum Projekt: https://scratch.mit.edu/projects/527068985
Wenn ihr eine Idee habt, wie ich das Problem lösen könnte, schreibt mir bitte! Danke
Wieso hat so lange niemand geantwortet? Tja… dann mach ich das eben. Das Auto beschleunigen und bremsen, kann man leicht mithilfe einer Variable ‘Geschwindigkeit’ machen, die sich beim Druck auf die zum Beschleunigen vorgesehene Taste vergrößert und beim Bremsen verkleinert.
Wenn die grüne Flagge angeklickt
wiederhole fortlaufend
falls <Taste [Pfeil nach oben v] gedrückt?> dann
ändere [Geschwindigkeit v] um (3)
end
falls <Taste [Pfeil nach unten v] gedrückt?> dann
ändere [Geschwindigkeit v] um (-3)
end
end
Wenn das Auto fahren würde, würdest du ihm nun das Skript:
Wenn die grüne Flagge angeklickt
wiederhole fortlaufend
gehe (Geschwindigkeit) er-Schritt
end
einfügen. Da sich aber der Hintergrund bewegt, müsstest du ihm zum Vorwärts- und Rückwärtsfahren auch ein solches Skript einfügen, nur mit den entgegengesetzten Werten.
gehe ((0) - (Geschwindigkeit)) er-Schritt
Außerdem kannst du diesen Block noch in die jeweiligen falls-Scheifen des ersten Skriptes einfügen, dann hast du nicht so viele kleine Stücken.
Die Lenken-Funktion habe ich die ganze Zeit falsch verstanden. Ich dachte, dass sich der Hintergrund dreht, nur die y-Position verändert und das Auto immer geradeaus ausgerichtet ist. Und das wäre wirklich schwer zu machen. Nun habe ich mehrere Stunden damit verbracht, mir so ein Skript auszudenken, bis ich mir nochmal deine Frage und dein Projekt angeschaut habe und sah, dass du es gar nicht so meinst.
Lenken kannst du so machen, dass das Auto mit den Pfeil-nach-oben-und-unten-Tasten beschleunigt und bremst und mit den Pfeiltasten links und rechts sich nicht in diese Richtungen bewegt, sondern dreht. Dabei fährt das Auto dann auch nie seitwärts sondern immer geradeaus.
wiederhole fortlaufend
falls <Taste [Pfeil nach rechts v] gedrückt?> dann
drehe dich nach links um (3) Grad
end
falls <Taste [Pfeil nach links v] gedrückt?> dann
drehe dich nach rechts um (3) Grad
end
end
Das Skript kannst du dem Hintergrund einfügen.
Die beiden falls-Klammern kannst du ja in da erste Skript einfügen, dann ist alles beisammen. Und es gibt einen großen Vorteil, das mit dem
<Taste [Pfeil nach oben v] gedrückt?>
-Block zu machen, statt mit dem
Wenn Taste [Pfeil nach oben v] gedrückt
-Block, weil es, wie du vielleicht gemerkt hast, mit dem zweiten Block immer eine kurze Verzögerung gibt, bis etwas passiert, wenn du die Pfeil-nach-rechts-Taste gedrückt hälst.

fritz15


Mein Projekt: Intellicat. Sie beantwortet dir alle Fragen.
Mit komplexer KI-Technologie. Jetzt entdecken!

Powered by DjangoBB

Standard | Mobile