Capitolo 11.1: Azioni di movimento
Il primo gruppo di azioni è formato da
quelle legate al movimento degli oggetti. Si tratta delle azioni seguenti:
Start moving in a direction Usa
questa azione per far muovere l’instance in una particolare direzione,
indicando la direzione usando le frecce. Usa il pulsante centrale per
interrompere il moto. Devi anche specificare la velocità del moto,
velocità data in pixel per passo: il valore di default è 8, se è possibile
non usare velocità negative. Puoi specificare più di una direzione: in
questo caso viene effettuata una scelta casuale. In questo modo puoi ad
esempio far muovere un mostro a destra o a sinistra.
Set direction and speed of motion Questo è il secondo modo di specificare un moto, quello con
le frecce blu. Qui puoi indicare una direzione precisa. Essa consiste in
un angolo compreso tra 0 e 360 gradi. 0 significa a destra. Il senso è
antiorario. Quindi ad esempio 90 indica in alto. Se vuoi una direzione
casuale, puoi scrivere random (360). Come vedrai sotto, la funzione random
restituisce un numero casuale minore del valore indicato. Come forse avrai
notato, c’è una casella chiamata Relative. Se la selezioni, il nuovo moto
verrà aggiunto al precedente. Per esempio, se l’instance si sta muovendo
verso l’alto e aggiungi un po’ di moto verso sinistra, il nuovo moto sarà
verso l’alto e verso sinistra.
Set the horizontal speed
La velocità di un’instance è composta da una componente
orizzontale e una verticale, con questa azione puoi cambiare la velocità
orizzontale. Una velocità orizzontale positiva implica un movimento verso
destra, una negativa implica un moto verso sinistra, la velocità verticale
resta immutata. Usa la casella Relative per aumentare la velocità
orizzontale (o diminuirla fornendo un valore negativo).
Set the vertical speed
Allo stesso modo, con questa azione puoi
modificare la velocità orizzontale dell’instance.
Move towards a point
Questa azione ti
fornisce un altro modo per settare un moto. Puoi indicare una posizione e
una velocità e l’instance inizierà a muoversi con la velocità indicata
verso la posizione. (Non si fermerà una volta arrivato!). Ad esempio, se
vuoi far volare un proiettile verso la posizione di un’astronave puoi
usare come posizione spaceship.x, spaceship.y.
(Imparerai qualcosa in più sull’uso di variabili come queste in seguito).
Se selezioni la casella Relative, la posizione è intesa
relativamente alla posizione corrente dell’instance. (La velocità non è
relativa!)
Set the gravity
Con questa azione puoi creare una gravità
per l’oggetto. Puoi specificare una direzione (un angolo tra 0 e 360
gradi) ed una velocità, che ad ogni passo questa velocità nella direzione
data viene aggiunta al moto corrente dell’instance dell’oggetto. Di solito
ti serve un incremento molto piccolo (come 0.01). In genere vorrai settare
la direzione verso il basso (270 gradi). Se selezioni la casella
Relative, aumenti la velocità e la direzione della gravità. Nota che,
contrariamente alla realtà, oggetti diversi possono avere direzioni di
gravità diverse.
Set the friction
L’attrito rallenta le instance quando sono
in movimento. Puoi specificare l’ammontare dell’attrito, ad ogni passo
questa quantità viene sottratta alla velocità finché essa si azzera. Di
solito hai bisogno di un numero molto piccolo (come 0.01).
Jump to a
given position Usando questa
azione puoi posizionare l’instance in una posizione particolare. Specifica
semplicemente le coordinate x e y, e l’instance viene posizionata con la
sua origine in quel punto. Se selezioni la casella Relative, la
posizione è intesa relativamente a quella corrente dell’instance.
Jump to the
start position Questa azione
riporta l’instance alla posizione in cui è stata creata
Jump to a
random position Questa azione
sposta l’instance in una posizione casuale nella stanza: vengono scelte
solo posizioni in cui l’instance non interseca nessuna instance solida.
Puoi specificare la griglia utilizzata. Se immetti valori positivi, le
coordinate saranno scelte tra i multipli interi dei valori indicati, ciò
può essere utilizzato, ad es., per mantenere l’instance allineata con le
caselle del tuo gioco (se ce ne sono). Puoi specificare griglie
orizzontali e verticali separate.
Reverse horizontal
direction Con questa azione
inverti il moto orizzontale dell’instance, si può usare ad esempio quando
l’oggetto urta un muro verticale.
Reverse vertical
direction Con questa azione
inverti il moto verticale dell’instance, si può usare ad esempio quando
l’oggetto urta un muro orizzontale.
Bounce against
objects
Quando metti questa azione nel collision event relativo a qualche oggetto,
l’instance rimbalza su questo oggetto in maniera naturale. Se imposti il
parametro “precise” su “false”, vengono trattati correttamente solo i muri
orizzontali e verticali. Quando lo imposti su “true” vengono trattati in
maniera soddisfacente anche i muri inclinati (o curvi), questa opzione è
però più lenta. Puoi anche indicare se effettuare il rimbalzo solo su
oggetti solidi o su tutti gli oggetti. Bisogna capire che il rimbalzo non
è del tutto corretto poiché dipende da molti fattori. Ma in molte
situazioni l’effetto è abbastanza buono.
Snap to grid Con
questa azione puoi arrotondare la posizione dell’instance ad una griglia.
Puoi indicare sia il valore orizzontale che quello verticale della griglia
(cioè, la dimensione delle caselle della griglia). Ciò può essere molto
utile per essere sicuri che l’instance stia in una griglia.
Set a
path for the instance Con
questa azione
puoi indicare che l’instance deve seguire un particolare percorso: puoi
indicare il percorso, la velocità e la posizione nel percorso dalla quale
partire (0=inizio, 1=fine). Vedi il Capitolo 18 per ulteriori informazioni
sui percorsi.
By Mark Overmars
Capitolo 11.2
|