2013-03-03 11 views
5

Sto programmando un semplice gioco per l'istruzione in MIT Scratch e voglio fare uno sprite girare verso un altro sprite (pensa a una nave aliena che segue la nostra nave eroica). Posso facilmente fare la nave aliena punto verso l'eroe:Come determinare la direzione di un altro sprite in Scratch

point towards 'hero' 

Ma quello che voglio veramente fare è qualcosa di più graduale come questo:

if alien direction (in degrees) > direction of hero: turn -2 degrees 
if alien direction (in degrees) < direction of hero: turn 2 degrees 

così come faccio a determinare 'direzione eroe'?

risposta

6

Sfortunatamente non sembra essere un modo integrato per ottenere questo, quindi è necessaria una certa trigonometria. Per calcolare la direzione da sprite 1 a sprite 2 è possibile calcolare lo spostamento 1-2 in X e Y, quindi utilizzare la funzione atan per trovare l'angolo richiesto:

Script to calculate angle to another sprite

Dal momento che si vuole realmente la direzione rispetto alla direzione della nave aliena sta affrontando, potrebbe essere preferibile utilizzare il prodotto vettoriale (prodotto alias trasversale):

enter image description here

le schermate sono tratte da this Scratch project.

4

Usa puntano verso un modo di scoprire:

set temp to direction 
point towards hero 
if temp > direction 
    set direction to temp-2 
else if temp < direction 
    set direction to temp-2 
else 
    set direction to temp 
Problemi correlati