Probleme bei Scratch 2?
Hi, wir versuchen gerade ein Kumpel and Run Game bei Scratch 2 zu programmieren. Unser Sprite kann inzwischen schon auf die Block springen aber sobald man auf dem Block ist und einfach weiter geht, geht er einfach in der Luft weiter anstatt wieder runterzufallen! Kennt sich jemand damit aus?
2 Antworten
Solange Objekt mit Hitbox (möglicherwiese durch farben realisieren) nicht berührt:
Variable Gravitation -x rechnen
Wenn Objekt mit Hitbox berührt:
Variable Gravitation auf 0 setzen
Wenn Sprungtaste gedrückt wird:
Variable Gravitation auf y setzen
In einer Schleife dauerhaft wiederholen:
Ändere y-Koordinate um Gravitation
Das wäre so das Basicmodell mit welchem ich immer anfange. Danach kommen sachen wie: Nicht durch Boden durchfallen, wenn Gravitation zu groß (im Negativen) ist. Nicht durch Wände laufen etc.
Uff... Das, was du machen willst ist bei scratch nicht ganz trivial... Eine Physics-Engine ist kein leichtes Unterfangen.
Im Prinzip musst du abfragen, ob du auf dem Boden bist oder nicht. Wenn du nicht auf dem Boden bist, musst du den Sprite mit einer immer schneller größer werdenen Geschwindigkeit nach unten bewegen. Dann noch das ganze mit collision-detection... Das ist nicht einfach.
Am besten ist es für den Anfang, einfach mal "jump and run" oder so auf der Webseite einzugeben und ein passendes Projekt auszuwählen. Dann im code schauen, wie der andere es gemacht hat. Wenn du Teile von seinem Code kopieren willst, solltest du ihn zuerst fragen, ob du das darfst!
Hoffe das hilft einigermaßen!