lettura facile

Il movimento relativo su Scratch

In questa lezione ti spiego come spostare uno sprite nello stage di Scratch tramite dei movimenti relativi.

Cos'è il movimento relativo? Il movimento relativo ti consente di spostare gli sprite in relazione alla loro posizione attuale invece di utilizzare coordinate assolute. Ricorda che uno sprite è un personaggio o un oggetto che hai creato su Scratch

Puoi controllare il movimento relativo di uno sprite utilizzando questi blocchi di comando

  • Cambia x di
    Questo blocco sposta lo sprite di una certa quantità di pixel sull'asse x rispetto alla sua posizione attuale.
    il blocco cambia x di
  • Cambia y di
    Questo blocco sposta lo sprite di una certa quantità di pixel sull'asse y rispetto alla sua posizione attuale.
    il blocco cambia y di
  • Punta in direzione
    Questo blocco ruota lo sprite fino a una determinata angolazione.
    il blocco punta in direzione
  • Ruota di
    Questi blocchi ruotano la direzione attuale a destra o a sinistra di un determinato angolo.
    il blocco ruota di
  • Fai n passi
    Questo blocco sposta lo sprite di una certa quantità di pixel lungo la direzione attuale.
    il blocco fai n passi

Questi blocchi di comando sono disponibili nella sezione "Movimento" del menu dei mattoncini grafici.

Ti faccio un esempio pratico.

Aggiungi uno sprite sullo stage alle coordinate x=20 e y=20 dello stage.

lo sprite

Lo sprite si trova nella posizione iniziale (x;y)=(20;20).

Ora clicca sullo sprite e seleziona la voce Codice in alto a sinistra.

clicca su Codice

 Poi inserisci questo script.

lo script si sposta aggiungendo 10 pixel alle x e 10 pixel alle y

Il blocco Cambia x aggiunge 10 pixel alla componente x della posizione attuale dello sprite.

Il blocco Cambia y aggiunge 10 pixel alla componente y della posizione attuale dello sprite.

Ad esempio, se lo sprite si trova alle coordinate (x;y)=(20;20), questi due blocchi modificano le coordinate dello sprite in questo modo (x;y)=(20+10;20+10)=(30;30)

Ogni volta che clicchi sulla bandiera verde (evento) questi due blocchi aggiungono 10 pixel alla posizione corrente (x+10;y+10) dello sprite.

il movimento dello sprite

Nota. In questo caso lo sprite si sposta in alto a destra perché stai aggiungendo 10 sia alla x che alla y. Per far spostare lo sprite in basso devi indicare un numero di pixel negativi sulla y. Ad esempio -10. Per far spostare lo sprite verso sinistra devi inserire un numero di pixel negativi sulla x. Ad esempio -10. Devi immaginare lo stage di Scratch come un sistema di assi cartesiani che ha l'origine (0;0) al centro dello stage.
lo stage di Scratch

Questi blocchi spostano lo sprite a sinistra o a destra, in basso o in alto senza considerare la direzione dello sprite.

Nel prossimo esempio vediamo come far spostare l'oggetto sulla direzione corrente.

In questo caso la direzione corrente dello sprite è 90°.

la direzione corrente

Ora modifica il codice dello sprite in questo modo.

il nuovo script

Il blocco fai 10 passi sposta lo sprite di 10 pixel lungo la direzione corrente.

In questo caso la direzione corrente è 90° quindi lo sposta verso destra.

il movimento nella direzione corrente

Nota. Scratch considera la direzione in questo modo. La direzione in alto corrisponde all'angolo 0°. La direzione a destra all'angolo 90°. La direzione a sinistra all'angolo -90°. Infine, la direzione in basso all'angolo 180°.
le direzioni assolute

Per modificare la direzione dello sprite puoi usare il blocco punta in direzione.

Ad esempio, questo script punta in direzione -90° e poi sposta lo sprite di 10 pixel.

lo script

Ogni volta che clicchi sulla bandiera verde, lo sprite punta verso sinistra (-90) e si sposta di 10 pixel.

l'esecuzione dello script

Il blocco punta in direzione modifica l'orientamento dello sprite in modo assoluto.

Nota. Questo vuol dire che -90° sarà sempre sempre un movimento verso sinistra e 90° un movimento verso destra.
le direzioni assolute

In alternativa, puoi usare uno dei blocchi Ruota di per modificare la direzione in modo relativo.

Questi blocchi modificano la direzione in relazione alla direzione corrente.

Ad esempio, modifica lo script in questo modo.

lo script

Il blocco ruota di 90° gradi modifica la direzione dello sprite in base alla direzione corrente.

Ad esempio, se la direzione attuale dello sprite è verso sinistra (-90°), una ruotazione di +90° gira lo sprite verso l'alto perché -90°+90°=0° ossia un puntamento verso l'alto.
le rotazioni relative

Ora ogni volta che clicchi sulla bandiera verde, lo sprite compie una rotazione di 90° e si sposta di 100 pixel in quella direzione.

la modifica alla direzione è relativa

Questo rende il movimento degli sprite più flessibile e versatile, permettendoti di creare animazioni più complesse.

In conclusione, il movimento relativo è una delle funzionalità di Scratch che ti consente di spostare gli sprite in relazione alla loro posizione attuale invece di utilizzare coordinate assolute.

 




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin