Saltando O Certificado Da Esfera


  Share  
|


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


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions