Plus de méthode Math.random () dans le système de particules
Dans notre dernier tutoriel, nous avons terminé l'animation des chutes de neige pour notre système de particules Flash CS3. Nous avons d'abord créé et animé un flocon de neige. Ensuite, nous avons créé de nombreux flocons de neige animés pour terminer l'animation des chutes de neige. Cependant, lorsque nous avons testé le film, nous n'étions pas très satisfaits des résultats car les flocons de neige semblaient manquer dans le coin inférieur gauche de la scène.

Que pouvons-nous faire pour ajuster notre animation? Comme nous l'avons codé maintenant, un flocon de neige peut commencer sa vie n'importe où le long du haut de la scène à une position comprise entre 0 et 510 sur l'axe X. Puis ce flocon de neige descend vers le bas dans une direction angulaire vers la droite. Il semble que c'est cette direction angulaire qui fait que les flocons de neige manquent dans le coin inférieur gauche de la scène. Nous pourrions retirer le code qui crée le mouvement angulaire et nos flocons de neige tomberont tout droit sur la scène. Si nous faisions cela, les chutes de neige couvriraient toute la scène mais nous perdrions l'illusion de vent que simule le mouvement angulaire.

Supposons que nous voulons garder cette illusion de vent et que nous devons donc garder le mouvement angulaire. Comme nous l'avons mentionné ci-dessus, nos flocons de neige peuvent commencer n'importe où en haut de la scène. Cependant, même les flocons de neige qui commencent à tomber de l'extrême gauche de la scène (à la position 0 sur l'axe X) atterriront au centre inférieur de la scène, laissant la zone gauche vide. Comment pouvons-nous changer notre code afin que certains des flocons de neige entrent dans la scène à un point inférieur le long de l'axe Y vertical et, par conséquent, tombent dans le coin gauche de la scène. Sans entrer dans trop de mathématiques pour ce tutoriel pour débutant, nous devons commencer à créer des flocons de neige en dehors de la zone de la scène sur la gauche. Bien que ces flocons de neige soient invisibles au début de leur vie, ils tomberont au moins sur la moitié de l'axe vertical Y avant d'entrer dans la scène et de devenir visibles. Ce faisant, nous nous assurons que ces flocons de neige tomberont dans le coin inférieur gauche de la scène.

À l'heure actuelle, nous générons un nombre aléatoire pour la propriété_Snowflake.x. N'oubliez pas que c'est la propriété _Snowflake.x qui contrôle la position X initiale de nos flocons de neige. Cette position initiale peut être n'importe quel nombre compris entre 0 et 510 le long de l'axe X.

_Snowflake.x = Math.random () * 510;

Si nous disons à Flash d'utiliser un nombre compris entre -350 et 510, les flocons de neige qui commencent par un nombre négatif seront les flocons de neige qui finiront par tomber dans le coin inférieur gauche de la scène. Nous pouvons le faire en ajoutant un -350 au nombre aléatoire généré par la méthode Math.random ().

_Snowflake.x = -350 + Math.random () * 510;

Modifiez cette ligne de code et testez votre film. Qu'est-il arrivé? Nous avons résolu notre problème et en avons causé un autre. Maintenant, les flocons de neige manquent dans le coin supérieur droit de la scène. Pourquoi? Le plus grand nombre pour la propriété_Snowflake.x (la position du flocon de neige le long de l'axe X) sera 160 (510 - 350). Le reste de l'axe X entre 161 et 550 n'a pas de flocons de neige et c'est pourquoi le coin supérieur droit est vide de neige. Comment pouvons-nous obtenir le nombre de la propriété_Snowflake.x entre 0 et 550? Nous pouvons étendre la plage du nombre aléatoire entre 0 et 900 (550 + 350).

_Snowflake.x = -350 + Math.random () * 900;

Modifiez le code et testez à nouveau. Ça marche. Avons-nous fini? Non, si vous laissez cette animation s'exécuter pendant un certain temps, vous remarquerez qu'elle commence à charger les ressources de votre ordinateur. Nous devons apporter quelques modifications à ActionScript pour le rendre plus efficace.

Remarque - Ce code d'animation n'est pas complet tant que vous n'avez pas atteint la fin de la série de didacticiels. N'utilisez pas ce code incomplet dans vos projets Flash.

Copyright 2018 Adobe Systems Incorporated. Tous les droits sont réservés. Copies d'écran des produits Adobe reproduites avec la permission d'Adobe Systems Incorporated. Adobe, Photoshop, Album Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst et Flash Paper Paper est / sont [une] marque [s] déposée (s) ou une marque [s] d'Adobe Systems Incorporated aux États-Unis et / ou dans d'autres pays.


Instructions Vidéo: Java Random Tutorial (Math.random() vs Random Class nextInt() nextDouble() ) (Mai 2024).