Flash Snow ActionScript 2.0
Stiu ca este vara, dar peste cateva luni vor veni iar peste noi zapezile… trebuie sa fim pregatiti!
Ce este mai frumos decat o ninsoare linistita intr-o zi de… mai?!
Sa trecem la treaba. Vom aduce zapada, fie ca vrea, fie ca nu vrea! In Flash, desenati un cerc alb cu dimensiunea de 17×17, transformati-l in movieclip si aplicatii un filtru de Glow. Dupa aceea, selectati-l din nou si transformati-l in alt movieclip pe care il numiti fulg. In cadrul acestuia, trasati un motion tween pe timeline lung de ~200 de frame-uri. Animati fulgul astfel incat pe toata durata tween-ului acesta sa faca un singur ocol al centrului mc-ului parinte.

Acum suntem gata de codare. Deschidem primul frame din _root si incepem sa scriem functia care va genera ninsoarea in Flash.
i = 0;
function snow() {
i++;
duplicateMovieClip(_root.fulg, "fulg"+i, i+10);
var x_pos:Number = customRandom(0, Stage.width)
var y_pos:Number = customRandom(0, Stage.height)
_root["fulg"+i]._x = x_pos;
_root["fulg"+i]._y = y_pos-200;
}
setInterval(snow, 100);
Asa deci… consideram o variabila i egala cu 0 care va numara fulgii si va atribui un id unic fiecaruia. Variabila i creste de fiecare data cand apelam functia snow(). In cadrul functiei efectuam urmatoarele chestiuni: duplicam fulgul (fulgii astfel creati se vor numi fulg1, fulg2, fulg3 etc. si vor avea depth-ul de 11, 12, 13 etc.), pentru fiecare fulg creat vom stabili coordonatele pe axa x si y (acestea sunt random, generate de o functie pe care o vom defini mai jos), observati ca fulgul va avea acel numar random – 200 pentru a fi siguri ca va aparea in Stage destul de sus.
Intervalul creat va apela functia la fiecare 100 ms, daca vreti o ninsoare viscolita, scadeti valoarea de repetitie.
Sa vedem cum arata functia customRandom().
function customRandom(min:Number, max:Number):Number {
var nr:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return nr;
}
Daca testati animatia acum, veti vedea ca este lipsita de dinamicitate… sa rezolvam si aceasta problema. In cadrul functiei snow() incepem sa ne jucam cu parametrii mc-urilor.
_root["fulg"+i]._xscale = 0;
_root["fulg"+i]._yscale = 0;
_root["fulg"+i].ynou = customRandom(5, 7);
_root["fulg"+i].onEnterFrame = function() {
this._y += this.ynou;
this._xscale += 5;
this._yscale += 5;
if (this._xscale > 60) {
this._xscale = 60;
this._yscale = 60;
}
if (this._y>=Stage.height) {
removeMovieClip(this);
}
}
In primul rand trebuie sa initiem _xscale si _yscale pentru fiecare fulg, pentru ca dupa ce modificam acesti parametrii pentru un fulg, celalalt sa poata avea alte valori. Vom jongla si cu pozitia pe axa y a fulgilor.
Cu ajutorul primei conditii ne asiguram ca nu vom avea fulgi uriasi. A doua conditie ne permite sa stergem fulgul daca a iesit din Stage, daca nu l-am sterge, acesta ar continua sa pluteasca in afara ecranului si la un moment dat ar bloca procesorul.
Sa vedem si rezultatul final al ninsorii generate de ActionScript:
C’ya next time!
Ti-a placut articolul Flash Snow ActionScript 2.0?
TweetAi nevoie de rezolvarea unei probleme la informatica?
Iti recomandam si urmatoarele articole:
Discuta articolul Flash Snow ActionScript 2.0
Contul tau
Categorii
- Atestat Info C/C++ (21)
- Atestat Info Pascal (21)
- Learn AJAX (3)
- Learn Android (5)
- Learn C++ (32)
- Learn CSS (11)
- Learn Database (9)
- Learn Flash (33)
- Learn HTML (14)
- Learn JAVA (9)
- Learn Javascript (14)
- Learn jQuery (17)
- Learn Pascal (28)
- Learn PHP (21)
- Learn SQL (5)
- Learn Visual FoxPro (4)
- Tips & Tricks (22)
Mozku Network
Ne gasesti si pe Facebook
Articole noi
- Cum sa detectati rezolutia telefonului intr-o aplicatie Android
- Cum se evita oprirea fortata a unei aplicatii
- Cum sa porniti o activitate noua in Android
- Cum sa adaugati un ImageView intr-o aplicatie Android
- Cum sa adaugati un Button intr-o aplicatie Android
- Cum sa utilizati un ArrayList in Java
- Bifeaza toate checkbox-urile folosind jQuery
- Validare formular folosind jQuery
Fisiere populare
- Proiect Atestat Informatica Visual FoxPro (439)
- Twitter Patterns (202)
- Flash Newsletter (126)
- Baza de date auto revizuita (99)
- hitTest Flash (99)
