Rebondissement Du Manuscrit De Boule


  Share  
|


Commencez un nouveau film instantané. Créez une agrafe de film qui a un graphique de boule à l'intérieur de lui.

Vous pouvez appeler l'exemple de l'agrafe de film, myClip, mais notre code ne dépendra pas du nom de l'agrafe.

Attachez le code suivant à l'agrafe de film :

onClipEvent(enterFrame) {this._x + = 5 ; }

Ce code agit une fois par armature. Il pousse l'agrafe de film plus de par un Pixel chaque armature. Le résultat est une agrafe qui se déplace lentement à travers l'écran jusqu'à ce qu'il atteigne l'autre côté. Il continue réellement même au delà là.

Pour changer le code de sorte qu'il rebondisse outre du mur droit, nous devrons faire quelques changements. La vitesse horizontale de l'agrafe de film sera stockée dans un speedX appelé variable. Changez le manuscrit d'agrafe de film en ceci :

onClipEvent(load) {speedX = 5 ; }
onClipEvent(enterFrame) {this._x + = speedX ; 
}

Si vous courez le film maintenant, il se comporte exactement comme il a fait avant. Le speedX variable est placé à 5, et cette valeur est employée pour incrémenter la position horizontale de l'agrafe de film.

Maintenant il est temps de faire l'agrafe rebondir outre du mur droit. Pour faire ceci, nous examinerons pour voir à si la position horizontale de l'agrafe est, ou après, le mur droit. Si oui, le speedX est renversé de sorte que la boule écarte la manière qu'elle est venue.

onClipEvent(load) {speedX = 5 ; } 
onClipEvent(enterFrame) {this._x + = speedX ; si (this._x > = 
550) {speedX = - speedX ; }}

Maintenant la boule rebondit outre du bon côté de l'écran et revient vers le mur gauche.

Pour s'assurer qu'elle rebondit outre du mur gauche, nous voudrons déterminer l'endroit horizontal de la boule étant moins de 0 et renverser sa direction dans ce cas aussi.

onClipEvent(load) {speedX = 5 ; }
onClipEvent(enterFrame) {this._x + = speedX ; 
si (this._x > = 550) {speedX = - speedX ; } autrement si 
(this._x < = 0) {speedX = - speedX ; }}

Laissez-maintenant nous font la boule se déplacer une direction verticale aussi bien. Il y a rien de neuf dans ce prochain changement de code. Il est juste les mêmes choses que nous avions faites, mais appliqué aux directions horizontales et verticales.

onClipEvent(load) {speedX = 5 ; = 5 prompts ; 
}
onClipEvent(enterFrame) {this._x + = speedX ; 
this._y + = prompt ;
 si (this._x > = 550) {speedX = - speedX ; } 
autrement si (this._x < = 0) {speedX = - speedX ; }
 si (this._y > = 400) {prompt = - prompt ; } 
autrement si (this._y < = 0) {prompt = - prompt ; }}

Quand vous courez le film maintenant, la boule rebondit outre de chacun des quatre murs. Elle continue à aller et aller. C'est un bon exemple d'une animation facilement faite avec ActionScript mais à côté d'impossible avec l'animation manuellement créée d'armature-par-armature.

Vous pouvez noter que la boule semble dépasser légèrement les bords de l'écran. C'est parce que l'endroit horizontal et vertical de l'agrafe de film se rapporte au milieu de la boule. Si la boule est 20 Pixel de diamètre, la boule pourrait sembler aller environ 10 Pixel après le bord. Vous pouvez vous ajuster à ceci dans vos calculs de beaucoup de manières. Le plus simple serait d'employer 10, 10, 540, et 390 en tant que vos bords d'écran, non 0, 0, 550, et 400.

c'est un article supplémentaire par Paulo Caldeira


Share  

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