Mám otázku, či animácia skončí, ako sa bude páčiť gotoAndStop()
do iného rámu
if (bird.hitTestObject(pipe1)) {
bird.gotoAndStop(3); //frame 3 = animation
}
potom, čo skončí, bude musieť ísť do hry Over frame (rám 3) a ja používam Flash Timeline
nie .as
Vďaka!
odpovede:
0 pre odpoveď č. 1Otázka nie je jasná, ale môžete sa k nej pripojiťKód jazyka ActionScript pre kľúčové snímky. Jednoducho povedané, keď playhead zasiahne tento rámec, kód sa spustí. V aplikácii Flash Professional jednoducho kliknite na kľúčový rámec, v ktorom sa končí animácia, otvorte panel „Akcie“ a napíšte akýkoľvek kód, ktorý je potrebné po ukončení animácie spustiť.
0 pre odpoveď č. 2
napr. Ak máte MovieClip
umiestnené na javisku, ktoré má (povedzme 60 snímok) animácie.
Teraz na hlavnej časovej osi (tj. Časovej osi fázy) chcete ísť do kľúčového snímky č. 3, ale iba po animácii vyššie MovieClip
je hotový (t. j. ak je 60 keyframe
), pridajte nasledujúci riadok na posledný keyframe
(tu 60.) z toho MovieClip
ako,
MovieClip(this.parent).gotoAndStop(3);
// tu this.parent
odkazuje na časovú os fázy
Vo vašom prípade (Otázka nie je jasná) to však môže byť,
MovieClip(this.parent).bird.gotoAndStop(3);
Niekoľko ďalších príkladov porozumenia,
MovieClip(this.parent).score;
// Prístup Score
z hlavnej časovej osi.
MovieClip(this.parent.parent).health;
// Vnorené klipy
Tento postup však neodporúčam, pretože ladenie a udržiavanie problémov s tým, ako sa projekty rozširujú, je ťažšie. Namiesto toho použite OOP
, MVC
ako vzor a na použitie pri animácii TweenLite
napríklad.