SkoMedHull Skrevet 12. februar 2009 Del Skrevet 12. februar 2009 Har den siste tiden begynt å leke litt med flash og actionscript 2.0, og har i den sammenheng støtt på et lite problem. Jeg har en helt vanlig animasjon med et par tweens som kjører i vei som den vil, men jeg vil lage en start og stopp funksjon. I stedet for å lage en start-knapp og en stopp-knapp har jeg lyst til å kunne styre en ball over to felt, der det ene feltet er markert "Spill" og det andre "Stopp". Altså når ballen er innenfor området der det står "Stopp" så stopper animasjonen og omvendt. Dokumentet mitt er 800 px bredt og feltene er 400 px hver, altså de dekker hele bredden i et lite område. Koden jeg la til ballen som ikke fungerer er følgende: onClipEvent (enterFrame) { if (Key.isDown(Key.RIGHT)) { this._x+=30; this._rotation+=30; } if (Key.isDown(Key.LEFT)) { this._x-=30; this._rotation-=30; } if(this._x<50) { this._x=50; } if(this._x>750) { this._x=750; } if(this._x>400) { stop() } else { play(); } } Mvh Håkon Lenke til kommentar
Juke Skrevet 15. februar 2009 Del Skrevet 15. februar 2009 Hvis jeg har forstått det riktig ønsker du å få tidslinjen ballen ligger i til å starte og stoppe avspillingen sin (altså ikke selve ballen sin tidslinje). Feilen ligger i såfall i disse to setningene (de jeg har markert med rødt). if(this._x>400){ stop() } else { play(); } Du må føye til _parent. foran hver av dem, slik at du ber tidslinjen ballen ligger i om å starte/stoppe. Hvis ikke vil koden kun påvirke movieclip-et koden ligger på, i dette tilfellet ballen, slik at du altså ber ballen om å starte/stoppe avspillingen langs sin egen tidslinje. Ellers kan det jo være greit å ha et semikolon også etter stop(), selv om det ikke forårsaker noen feil å utelate det i dette tilfellet. Her er en fungerende variant av koden (jeg har kun endret det jeg nevnte): onClipEvent (enterFrame){ if (Key.isDown(Key.RIGHT)) { this._x+=30; this._rotation+=30; } if (Key.isDown(Key.LEFT)) { this._x-=30; this._rotation-=30; } if(this._x<50) { this._x=50; } if(this._x>750) { this._x=750; } if(this._x>400) { _parent.stop(); } else { _parent.play(); } } Lenke til kommentar
SkoMedHull Skrevet 16. februar 2009 Forfatter Del Skrevet 16. februar 2009 Tusen takk for hjelpen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå