Bonjour,
J'essaie actuellement de placer un listener sur le clavier.
SI je place le code suivant sur une frame cela fonctionne :
Mais si je crée une classe dans un fichier actionscript cela ne fonctionne plus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import flash.events.KeyboardEvent; var left:uint = 37; var up:uint = 38; var right:uint = 39; var down:uint = 40; stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownListener); function keyDownListener(e:KeyboardEvent):void { trace("e.keyCode=" + e.keyCode); if (e.keyCode==left) { trace("left"); }else if (e.keyCode==right) { trace("right"); } }
L'erreur provient de la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 package { import flash.display.MovieClip; import flash.events.*; public class Game extends MovieClip { static const RIGHT = 39; static const LEFT = 37; public function Game() { stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownListener); } function keyDownListener(e:KeyboardEvent):void { trace("e.keyCode=" + e.keyCode); if (e.keyCode==LEFT) { trace("left"); //ship_mc.nextrotation=ship_mc.rotation-5; }else if (e.keyCode==RIGHT) { trace("right"); //ship_mc.nextrotation=ship_mc.rotation+5; } } } }
Et affiche : TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
Code : Sélectionner tout - Visualiser dans une fenêtre à part stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownListener);
J'en déduis donc que je n'arrive pas à atteindre stage !
J'ai loupé un truc dans mon code ?
Merci d'avance.
Partager