Discuss Scratch

mcz72
Scratcher
2 posts

Richtungsänderung elegant

Hallo,
ich möchte bei einem Spiel erreichen, dass ein Ball von einem anderen sich bewegenden Ball abprallt. Aber nicht mittels “drehe xy Grad” oder so, sondern der Einfallswinkel sollte gleich dem Ausfallswinkel sein.

Weiß jemand, wie man das hinkriegt?

Grüße und danke,
Markus
Fyndora
Scratcher
1000+ posts

Richtungsänderung elegant

mcz72 wrote:

Hallo,
ich möchte bei einem Spiel erreichen, dass ein Ball von einem anderen sich bewegenden Ball abprallt. Aber nicht mittels “drehe xy Grad” oder so, sondern der Einfallswinkel sollte gleich dem Ausfallswinkel sein.

Weiß jemand, wie man das hinkriegt?

Grüße und danke,
Markus

Hallo, verstehe ich das richtig, beide Bälle bewegen sich. Sollen beide abprallen, oder zieht der eine seine Bahn und der 2. prallt ab? Einfallswinkel = Ausfallswinkel ginge ja über eine Winkelvariable die Du dann Richtung mal -1 setzen könntest. Leider kann ich das mit den hübschen bunten Scriptblöcken hier noch nicht wirklich, aber vielleicht hilft Dir ja dieses Script von @dapontes https://scratch.mit.edu/projects/30099508/ weiter. Es bewegt sich zwar nur 1 Ball aber die Winkel stimmen

Viele Grüße
Fyndora
megrathund
Scratcher
100+ posts

Richtungsänderung elegant

Fyndora wrote:

Leider kann ich das mit den hübschen bunten Scriptblöcken hier noch nicht wirklich
Unter “New Reply” gibt es doch eine Menü leiste. In dieser Menüleiste gibt es ein Blocksymbol. Fahre mit der Maus dort drüber und wähle deinen Block aus den Du haben möchtest. Klicke diesen dann an. Wenn Du sehen willst ob es geklappt hat, drücke am ende der Menüleiste den Grünen Haken.

Ich hoffe ich konnte helfen

MFG
Megrathund
mcz72
Scratcher
2 posts

Richtungsänderung elegant

Schaue ich mir mal an. Vielen Dank schon mal für den Hinweis!
frodewin
Scratcher
500+ posts

Richtungsänderung elegant

Die Formel ist 2*(Winkel zum Objekt) - (ursprüngliche Bewegungsrichtung) + 180. Das kann mit folgenden Blöcken umgesetzt werden:

pralle von Objekt [Baseball] ab

Definiere pralle von Objekt (objektname) ab
falls <wird (objektname) berührt?> dann
setze [alte Richtung v] auf (Richtung)
drehe dich zu (objektname)
drehe dich nach rechts um (((180) + (Richtung)) - (alte Richtung)) Grad
end

Im Projekt Objects bouncing off each other findest du dazu ein Beispiel mit drei Objekten die voneinander abprallen.



You can also find my best projects here or stop at my profile and say hi!
Dreche
Scratcher
100+ posts

Richtungsänderung elegant

frodewin wrote:

Die Formel ist 2*(Winkel zum Objekt) - (ursprüngliche Bewegungsrichtung) + 180. Das kann mit folgenden Blöcken umgesetzt werden:

pralle von Objekt [Baseball] ab

Definiere pralle von Objekt (objektname) ab
falls <wird (objektname) berührt?> dann
setze [alte Richtung v] auf (Richtung)
drehe dich zu (objektname)
drehe dich nach rechts um (((180) + (Richtung)) - (alte Richtung)) Grad
end

Im Projekt Objects bouncing off each other findest du dazu ein Beispiel mit drei Objekten die voneinander abprallen.
Das hat mir die Lösung vieler Probleme gezeigt! Danke!

#include <config.hpp>
#ifdef HAVE_RXC
# include <rxc.hpp>
#endif
std::cout << "Ich mache zwar viel in C++" << std::endl;
(): compiler.rxcc.IO(()) {
compiler.rxcc.IO.console.print(“Aber eine eigene Programmiersprache wäre auch toll …”)
}
Secret entdeckt?
— ENDE DER SIGNATUR —
Ferdinand20100106
Scratcher
3 posts

Richtungsänderung elegant

hello

Last edited by Ferdinand20100106 (March 12, 2024 09:48:28)

Powered by DjangoBB