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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
/**
* CubeController.as
*
*/
import mvc.*;
import util.*;
import mvccube.CubeModel;
class mvccube.CubeController extends AbstractController {
private var _myKeyboardListener:Object;
/**
* Constructeur
*
* @param cm Le modele a modifier
*/
public function CubeController(cm:Observable) {
super(cm);
handleKeyboardEvent();
}
/**
* Fait tourner le cube à droite
*/
public function turnCubeToTheRight():Void {
trace("TURN TO THE RIGHT FROM CONTROLLER");
CubeModel(getModel()).turnToTheRight();
}
/**
* Fait tourner le cube à gauche
*/
public function turnCubeToTheLeft():Void {
trace("TURN TO THE LEFT FROM CONTROLLER");
CubeModel(getModel()).turnToTheLeft();
}
/**
* Accède à la face du dessous du cube
*/
public function accessBottomCubeFace():Void {
CubeModel(getModel()).accessBottomFace();
}
/**
* Revient à la face principale du cube
*/
public function accessMainCubeFace():Void {
CubeModel(getModel()).accessMainFace();
}
/**
* Gestion des évènements
*/
public function click(evt:Object):Void {
switch(evt.target._name) {
case "turnRight" :
turnCubeToTheRight();
break;
case "turnLeft" :
turnCubeToTheLeft();
break;
case "bottomFace" :
accessBottomCubeFace();
break;
case "mainFace" :
accessMainCubeFace();
break;
}
}
public function gestionClavier():Void {
trace("GESTION CLAVIER : " + getModel().toString());
switch(Key.getCode()) {
case Key.UP :
accessMainCubeFace();
break;
case Key.DOWN :
accessBottomCubeFace();
break;
case ExtendedKey.SOFT1 :
turnCubeToTheLeft();
break;
case ExtendedKey.SOFT2 :
turnCubeToTheRight();
break;
}
}
/**
* Gestion des évènements du clavier
*/
public function handleKeyboardEvent():Void {
_myKeyboardListener = new Object();
_myKeyboardListener.onKeyDown = gestionClavier;
Key.addListener(_myKeyboardListener);
}
} |
Partager