utilisation clavier dans une classe
Salut à tous !
Je cherche à déplacer au clavier un swf externe dans une classe !
Cela pose plusieurs problèmes :
Je ne souhaite pas faire de extends Sprite, extends MovieClip etc...
Je cherche simplement à mettre en nom de paramètre principal, le nom de mon swf chargé de l'extérieur.
Je vous post ce que j'ai fais sans succès.
Code:
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 30 31 32 33 34 35
|
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Stage;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class Player1 {
var MC:Object = new Object();
public var speed:Number;
public var stats:String;
public function Player1(monSWF:Object) {
this.MC = monSWF;
this.speed = 0;
addEventListener(Event.ADDED_TO_STAGE, stageInit);
}
private function stageInit(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.addEventListener(KeyboardEvent.KEY_DOWN, cmdChar);
}
public function cmdChar(event:KeyboardEvent):void {
if (event.keyCode == Keyboard.RIGHT) {
this.speed = 0.5;
}
if (event.keyCode == Keyboard.LEFT) {
this.speed = -0.5;
}
}
}
} |
Dans mon fla principal j'ai ça (Je vous passe le chargement de mon swf...):
Code:
1 2 3 4 5 6 7 8 9
|
//// chargement de ma class
var p1:Player1 = new Player1(charP1);
//////////////////////////////////////////////////////////////////
addEventListener(Event.ENTER_FRAME,mainAction);
///////
function mainAction(e:Event) {
charP1.x+=p1.speed;
} |
Voila ! donc si vous avez des idées ! je suis preneur !
Merci de votre aide !
@+