Swinging a p; nodul în Actionscript

De Juanlu_001 la 31 martie 2008 cu 91.951 vizite

actionscript

Așa cum indică titlul său, este scris cu scopul de a oferi o modalitate sistematică de a face ca obiecte precum pendule sau altele similare să oscileze într-un mod realist, oferind, de asemenea, o multitudine de posibilități, cum ar fi oprirea sau nu cu trecerea timpului sau a pentru a putea ocoli de mai multe ori punctul de rotație fără a pierde efectul realismului. Desigur, este complet personalizabil pentru a atinge viteze diferite.

Pentru a înțelege acest tutorial, nu este necesar să aveți cunoștințe avansate despre ActionScript, ci doar noțiuni de bază.

Pregătirea pendulului

Pentru început, creați un document nou cu dimensiuni mari (mai ales în partea de sus), cu culoarea de fundal pe care o preferați și cu o rată de cadre pe secundă de 40 fps, care este cea pe care o folosesc. Într-un strat nou, desenați ceva de genul unui pendul care „atârnă” de o linie (cu cât îl faceți mai mult, cu atât efectul va fi mai bun apreciat) într-o poziție totală de odihnă (nu-i acordați nicio înclinație inițială atunci când îl trageți), convertiți-l într-un MovieClip și dați-i un nume de instanță („punch” în cazul meu). Punctul de înregistrare ar trebui să fie pe „frânghia” de care atârnă pendulul, unde doriți să se balanseze. Așa a fost „pendulul” meu:

Apoi, îi putem da o rotație (-30º de exemplu) și continuăm să scriem codul.

Definiția variabilelor esențiale

Pentru început, vom defini o serie de variabile care vor fi necesare pentru a realiza ulterior mișcarea de balansare. Scriem aceste rânduri de cod în MovieClip:

Faptul că greutatea este pozitivă pentru această rotație și nu invers se datorează doar modului în care am formulat ecuațiile.

Aceste prime linii de cod vor servi la definirea celor două variabile esențiale pentru mișcare. Le voi explica în pasul următor scriind formula care o va produce.

Mișcare oscilantă fără decelerare

Acum scriem aceste rânduri și în MovieClip:

Acum voi explica puțin acest lucru: ceea ce face acest comportament este, în fiecare cadru, să adauge vitezei greutatea pe care i-am dat-o, cu care va crește de fiecare dată (acest lucru va atinge efectul de accelerație). Presupunând că rotația inițială este negativă (adică este înclinată spre dreapta) și că, prin urmare, greutatea inițială este mai mare decât zero, la atingerea unei rotații ușor mai mari decât zero, primul condițional va fi activat și greutatea va fi schimbare. de semn (this._rotation = 0.1; este astfel încât să nu se „blocheze”) și, prin urmare, va decelera până când viteza atinge 0. În acel moment, pendulul se va roti din ce în ce mai repede în direcția Pe dimpotrivă, până când atinge -cu o greutate negativă, amintiți-vă- o rotație ceva mai mică de 0, care va fi atunci când al doilea condițional este activat, iar greutatea revine la un semn pozitiv.