Toon posts:

[Flash] Movieclip next/previous frame aansturen met keyboard

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo

Ik ben bezig met een flashspelletje met een kannon. De omhoog en omlaag bewegingen van het kannon zitten in een movieclip. Nu wil ik ervoor zorgen dat het kannon omhoog beweegt als je de omhoog knop op het toetsenbord indrukt, en omlaag als je omlaag drukt. De bewegingen zijn er dus al, ik kom er alleen niet achter hoe ik de movieclip stap voor stap kan laten afspelen, en weer terug, door middel van het toetsenbord. Kan iemand me helpen? Ik werk met Flash 8 Pro.

De actionscript code ziet er momenteel zo uit:
onClipEvent (load) {
moveit = 10;
}
onClipEvent (enterFrame) {
if ((Key.isDown(Key.RIGHT))) {
this._x += moveit;
} else if ((Key.isDown(Key.LEFT))) {
this._x -= moveit;
}
if ((Key.isDown(Key.UP))) {
play();
movie1.nextFrame();
} else if ((Key.isDown (Key.DOWN))) {
play();
movie1.prevFrame();
}
}
De Key.LEFT en Key.RIGHT bewegen de movieclip (het kannon) uiteraard naar links en naar rechts. Key.UP moet het kannon naar boven bewegen, stap voor stap (deze beweging zijn is in 20 frames gemaakt) Naar boven bewegen werkt prima, Key.UP werkt dus gewoon. Maar, Key.DOWN speelt ook gewoon steeds de volgende frame, en niet de vorige zoals prevFrame zou moeten aangeven.

Voor de mensen die liever het .fla bestandje zelf even bekijken:

http://www.filefactory.com/file/15368f/

  • Stalkert
  • Registratie: Januari 2001
  • Laatst online: 06-08-2025
Ben geen flash expert maar zo werkt het ;)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
onClipEvent (load) {
moveit = 10;
}
onClipEvent (enterFrame) {
if ((Key.isDown(Key.RIGHT))) {
this._x += moveit;
} else if ((Key.isDown(Key.LEFT))) {
this._x -= moveit;
}
if ((Key.isDown(Key.UP))) {
    play();
    _root.movie1.nextFrame();
} else if ((Key.isDown (Key.DOWN))) {
    play();
    trace ("down now");
    _root.movie1.prevFrame();
    }
}


Alleen dus even _root. voor movie1 zetten

edited: Wanneer je het nog profi-er eruit wil laten zien, kanon even met één n schrijven

[ Voor 9% gewijzigd door Stalkert op 31-08-2006 13:20 ]


Verwijderd

Topicstarter
Super! Meteen opgelost! bedankt voor je snelle reply! Toppie!

EDIT: Sorry, je hebt gelijk! Schaam! Kanon!

[ Voor 27% gewijzigd door Verwijderd op 31-08-2006 13:23 ]


Verwijderd

Topicstarter
En nu het volgende :p, nu we toch bezig zijn. De spacebar triggered het schieten, maar als ik nu op de spacebar druk, beweegt het kanon ook op en neer! Wat is er fout?
onClipEvent (load) {
moveit = 10;
}
onClipEvent (enterFrame) {
if ((Key.isDown(Key.RIGHT))) {
this._x += moveit;
} else if ((Key.isDown(Key.LEFT))) {
this._x -= moveit;
}
if ((Key.isDown(Key.DOWN))) {
play();
_root.movie1.nextFrame();
} else if ((Key.isDown (Key.UP))) {
play();
trace ("up now");
_root.movie1.prevFrame();
}
else if ((Key.isDown(Key.SPACE))) {
play();
movie2.gotoAndPlay(2);
}
}

Verwijderd

Topicstarter
Sorry, heb het al opgelost, _root.movie1.stop() deed het truukje! Topic kan wat mij betreft op slot! Bedankt voor de hulp!