Saltando O Certificado Da Esfera
Comece um filme flash novo. Críe um grampo do filme que tenha um gráfico da esfera dentro dele. Você pode nomear o exemplo do grampo do filme, myClip, mas nosso código não dependerá do nome do grampo. Una o seguinte código ao grampo do filme: onClipEvent(enterFrame) {this._x + = 5; }
Este código age uma vez por o frame. Empurra o grampo do filme sobre por um pixel cada frame. O resultado é um grampo que se mova lentamente através da tela até que alcance o outro lado. Continua realmente mesmo past lá. Para alterar o código de modo que salte fora da parede direita, nós necessitaremos fazer algumas mudanças. A velocidade horizontal do grampo do filme será armazenada em um speedX nomeado variável. Mude o certificado do grampo do filme a este: onClipEvent(load) {speedX = 5; }
onClipEvent(enterFrame) {this._x + = speedX;
}
Se você funcionar o filme agora, comporta-se exatamente como fêz antes. O speedX variável é ajustado a 5, e esse valor é usado incrementar a posição horizontal do grampo do filme. Agora é hora de fazer o grampo saltar fora da parede direita. Para fazer este, nós testaremos para ver em se a posição horizontal do grampo está, ou após, a parede direita. Se assim, o speedX é invertido de modo que a esfera mova para trás a maneira que veio. onClipEvent(load) {speedX = 5; }
onClipEvent(enterFrame) {this._x + = speedX; se (this._x > =
550) {speedX = - speedX; }}
Agora a esfera salta fora do lado direito da tela e volta para a parede esquerda. Para certificar-se de que salta fora da parede esquerda, nós quereremos testar para a posição horizontal da esfera que é menos de 0 e inverter demasiado seu sentido nesse caso. onClipEvent(load) {speedX = 5; }
onClipEvent(enterFrame) {this._x + = speedX;
se (this._x > = 550) {speedX = - speedX; } mais se
(this._x < = 0) {speedX = - speedX; }}
Deixe-nos agora fazem a esfera mover-se também em um sentido vertical. Não há nada novo nesta alteração seguinte do código. É justo as mesmas coisas que nós temos feito, mas aplicado aos sentidos horizontais e verticais. onClipEvent(load) {speedX = 5; = 5 speedY; }
onClipEvent(enterFrame) {this._x + = speedX;
this._y + = speedY;
se (this._x > = 550) {speedX = - speedX; } mais se
(this._x < = 0) {speedX = - speedX; }
se (this._y > = 400) {speedY = - speedY; }
mais se (this._y < = 0) {speedY = - speedY; }}
Quando você funciona o filme agora, a esfera
salta fora de todas as quatro paredes. Mantem-se ir e ir.
É um exemplo bom de um animation feito fàcilmente com
ActionScript mas ao lado de impossível com animation manualmente
criado do frame-por-frame. Você pode observar que a esfera parece ir ligeiramente
além das bordas da tela. Isso é porque a posição horizontal
e vertical do grampo do filme consulta ao meio da esfera. Se a
esfera fosse 20 pixels no diâmetro, a esfera pôde parecer ir
aproximadamente 10 pixels após a borda. Você pode ajustar para
este em seus cálculos em muitas maneiras. O mais simples seria
usar 10, 10, 540, e 390 como suas bordas da tela, não 0, 0, 550, e
400. este é um artigo adicionado por Paulo Caldeira
|
|||
|