Rebondissement Du Manuscrit De Boule
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
|
|||
|