Aus Das deutschsprachige Scratch-Wiki
drehe dich zu [ v]
Kategorie: | Bewegung |
Typ: | Stapelblock |
Eingeführt in: | Scratch 1.0 |
Eingaben: | Eingabeliste |
Plugin-Code (Wiki): | drehe dich zu [ v]
|
Der Block drehe dich zu () ist ein Bewegungs-Block und ein Stapel-Block. Dieser Block bewirkt, dass das aufrufende Objekt seine Richtung so setzt, dass es auf das angegebene Objekt zeigt. Zeigen auf den Mauszeiger ist auch möglich.
drehe dich zu [Objekt v]
drehe dich zu [Mauszeiger v]
Anwendungsbeispiele
- beständiges Zeigen einer Figur auf den Mauszeiger
wiederhole fortlaufend drehe dich zu [Mauszeiger v] gehe (10) er Schritt end
- einer Figur zeigen, wohin sie sich bewegen soll
drehe dich zu [Objekt v] wiederhole bis <wird [Objekt v] berührt?> gehe (5) er Schritt end
- Hinweis auf das Ziel in einem Projekt
Wenn ich [Hinweis v] empfange drehe dich zu [Schatz v]
Zeigen auf einen Punkt
Manchmal möchte man, dass ein Objekt auf einen bestimmten Punkt (x, y Koordinate) zeigt .
Dazu gibt es keinen eigenen Befehl, man kann sich aber einen benutzerdefinierten Block basteln, der genau das macht. Mit einer falls dann-Verzweigung schaut das so aus:
Definiere drehe dich zu x: (x-Ziel) y: (y-Ziel) falls <(y-Ziel) > (y-Position)>, dann setze Richtung auf ([atan v] von (((x-Ziel)- (x-Position))/((y-Ziel) - (y-Position)))) Grad sonst setze Richtung auf ((180)+([atan v] von (((x-Ziel)- (x-Position)) / ((y-Ziel) - (y-Position))))) Grad ende
Um das Skript kompakter zu machen kann man mit dem Ergebnis der Bedingung rechnen und den falls dann sonst-Block einsparen. Das Skript dazu ist dann nur eine Zeile lang:
Definiere drehe dich zu x: (x-Ziel) y: (y-Ziel) setze Richtung auf (((180) * <nicht<(y-Position) < (y-Ziel)>>) + ([atan v] von (((x-Position) - (x-Ziel)) / ((y-Position) - (y-Ziel))))) Grad
Eine andere Möglichkeit ist es ein weiteres Objekt zu erstellen, dieses auf die Zielposition zu setzen und dann den zeige auf-Block zu verwenden. Von dieser Lösung wird aber abgeraten, da sie deutlich langsamer als die oben genannten Vorschläge ist und eine eigene Figur zum Zielen braucht.
[wiki=de:Drehe dich zu () (Block)]Drehe dich zu () (Block)[/wiki]