Bonjour,
j'aimerai avoir un coup de main sur le AS3 je débute totalement la dedans je souhaite apprendre à utiliser les fonctions du clavier par KeyboardEvent et je rencontre plusieurs problèmes. j'ai parcouru l'aide de flash 9 pour mon apprentissage.
Il semblerait que pour utiliser certaines touches du clavier il faut leur donner le numéro de la touche à laquelle elle correspond genre:
var UP:uint = 38;
var DOWN:uint = 36;
var CTRL:uint = 25; (c'est numero sont en guise d'exemple)
De plus il semblerait qu'il faut utiliser un package pour utiliser les fonctions "public et private", l'aide de flash donne un exemple, quand je le test j'ai une erreur qui me dit les packages ne peuvent pas être imbriqués 1037.
l'aide compiltor erreur dit : Cette erreur indique que le code ActionScript du fichier SWF n'est pas valide. Si vous pensez que le fichier n'a pas été corrompu, signalez l'anomalie à Adobe.
Voici le code :
package {
import flash.display.Sprite;
import flash.display.DisplayObject;
import flash.events.*;
public class KeyboardEventExample extends Sprite {
private var bgColor:uint = 0x00CCFF;
private var size:uint = 80;
public function KeyboardEventExample() {
var child:Sprite = new Sprite();
child.graphics.beginFill(bgColor);
child.graphics.drawRect(0, 0, size, size);
child.graphics.endFill();
addChild(child);
stage.focus = child;
child.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
child.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
}
private function keyDownHandler(event:KeyboardEvent):void {
trace("keyDownHandler: " + event.keyCode);
trace("ctrlKey: " + event.ctrlKey);
trace("keyLocation: " + event.keyLocation);
trace("shiftKey: " + event.shiftKey);
trace("altKey: " + event.altKey);
}
private function keyUpHandler(event:KeyboardEvent):void {
trace("keyUpHandler: " + event.keyCode);
}
}
}
je ne parviens pas à trouver ma solution, vous trouvez ça normale ? j'ai plusieurs essais différents rien y fait.
voila mon petit bout de script :
package {
import flash.events.*;
import flash.display.Sprite;
import flash.display.DisplayObject;
var largeur:uint = stage.stageWidth;
var hauteur:uint = stage.stageHeight;
var ball2:ball = new ball();
ball2.y = largeur / 2;
ball2.x = hauteur / 2;
addChild(ball2);
ball2.addEventListener(KeyboardEvent.KEY_DOWN, ecoute);
public function ecoute(event:KeyboardEvent):void {
ball2.y = ball2.y + 1;
}
}
ou sinon :
package {
import flash.events.*;
import flash.display.Sprite;
import flash.display.DisplayObject;
var largeur:uint = stage.stageWidth;
var hauteur:uint = stage.stageHeight;
var UP:uint = 38; définition de la variable contant la valeur de la touche
var ball2:ball = new ball();
ball2.y = largeur / 2;
ball2.x = hauteur / 2;
addChild(ball2);
UP.addEventListener(KeyboardEvent.KEY_DOWN, action);
function action(event:KeyboardEvent) {
ball2.addEventListener(Event.ENTER_FRAME, reaction);
}
public function reaction(e:Event):void {
ball2.y = ball2.y + 1;
}
}
Voila est ce que le m'égare 


Merci de vos interventions .........