Inizi un nuovo film istantaneo. Generi una clip di film che gli ha un grafico della sfera.
|
|
Potete chiamare il caso della clip di film, myClip, ma il nostro codice non dipenderà dal nome della clip.
Fissi il seguente codice alla clip di film:
onClipEvent(enterFrame) {this._x + = 5; }
Questo codice si comporta una volta per la struttura. Spinge la clip di film sopra da un pixel ogni struttura. Il risultato è una clip che si muove lentamente attraverso lo schermo fino a che non raggiunga l'altro lato. Realmente continua persino oltre là.
Per alterare il codice in modo che rimbalzi fuori della parete di destra, dovremo fare alcuni cambiamenti. La velocità orizzontale della clip di film sarà memorizzata in uno speedX chiamato variabile. Cambi lo scritto della clip di film a questo:
onClipEvent(load) {speedX = 5; }
onClipEvent(enterFrame) {this._x + = speedX;
}
Se ora fate funzionare il film, si comporta esattamente come ha fatto prima. Lo speedX variabile è regolato a 5 e quel valore è usato per increment la posizione orizzontale della clip di film.
Ora è tempo di fare la clip rimbalzare fuori della parete di destra. Per fare questo, esamineremo per vedere a se la posizione orizzontale della clip è, o oltre, la parete di destra. In caso affermativo, lo speedX è invertito in modo che la sfera sposti indietro il senso che è venuto.
onClipEvent(load) {speedX = 5; }
onClipEvent(enterFrame) {this._x + = speedX; se (this._x > =
550) {speedX = - speedX; }}
Ora la sfera rimbalza fuori della parte di destra dello schermo e ritorna verso la parete di sinistra.
Per assicurarsi che rimbalza fuori della parete di sinistra, desidereremo esaminare a posizione orizzontale della sfera che è meno di 0 ed invertire il relativo senso in quel caso anche.
onClipEvent(load) {speedX = 5; }
onClipEvent(enterFrame) {this._x + = speedX;
se (this._x > = 550) {speedX = - speedX; } altrimenti se
(this._x < = 0) {speedX = - speedX; }}
Ora lascili fanno la sfera muoversi in un senso verticale pure. Ci è niente di nuovo in questa alterazione seguente del codice. È giusto le stesse cose che stiamo facendo, ma applicato sia ai sensi orizzontali che verticali.
onClipEvent(load) {speedX = 5; = 5 veloci; }
onClipEvent(enterFrame) {this._x + = speedX;
this._y + = veloce;
se (this._x > = 550) {speedX = - speedX; }
altrimenti se (this._x < = 0) {speedX = - speedX; }
se (this._y > = 400) {veloce = - veloce; }
altrimenti se (this._y < = 0) {veloce = - veloce; }}
Quando ora fate funzionare il film, la
sfera rimbalza fuori di tutte e quattro le pareti. Continua a
andare ed andare. È un buon esempio di una animazione fatta
facilmente con ActionScript ma vicino ad impossibile con la animazione
manualmente generata della struttura-da-struttura.
Potete notare che la sfera sembra andare un po'oltre i
bordi dello schermo. Quello è perché la posizione orizzontale
e verticale della clip di film si riferisce alla metà della
sfera. Se la sfera è 20 pixel di diametro, la sfera potrebbe
sembrare andare circa 10 pixel oltre il bordo. Potete registrare
per ottenere questo nei vostri calcoli in molti sensi. Il più
semplice sarebbe di usare 10, 10, 540 e 390 come vostri bordi dello
schermo, non 0, 0, 550 e 400.
Online: 513 users browsing the articles directory
|
|