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
| //Array a 2 dimensions
var myMap:Array = new Array(new Array("1_on", "1_off"), new Array("option1", "option2", "option3"));
//Variable pour donner la position x,y dans l'array
var locatorx:Number = 0;
var locatory:Number = 0;
//Appelle la fonction qui donne l'état "survolé" au bouton
locateme();
//Variable avec le nom du bouton sélectionné pour chaque rangée
var activerow1:String;
var activerow2:String;
//
function menuKey() {
// Left
//vérifie a chaque fois que l'on ne deborde pas de l'array
if (Key.getCode() == 37 && myMap[locatory][locatorx-1] != undefined) {
locatorx--;
locateme();
}
// Right
if (Key.getCode() == 39 && myMap[locatory][locatorx+1] != undefined) {
locatorx++;
locateme();
}
// Up
if (Key.getCode() == 38 && myMap[locatory-1][locatorx] != undefined) {
locatory--;
locateme();
}
// Down
if (Key.getCode() == 40 && myMap[locatory+1][locatorx] != undefined) {
locatory++;
locateme();
}
// SpaceBar
if (Key.getCode() == 32) {
//si l'on est dans la rangee 0...l'action ne doit concerner que cette rangee
if (locatory == 0) {
//envoie le bouton precedemment selectionné a la frame 1
_root[activerow0].gotoAndStop(1);
//mise a jour du bouton sélectionné
activerow0 = myMap[locatory][locatorx];
//et l'envoie a la frame 2
_root[activerow0].gotoAndStop(2);
}
if (locatory == 1) {
_root[activerow1].gotoAndStop(1);
activerow1 = myMap[locatory][locatorx];
_root[activerow1].gotoAndStop(2);
}
}
}
var keyListener:Object = new Object();
keyListener.onKeyDown = menuKey;
Key.addListener(keyListener);
//donne les coordonnees x,y du movieclip "highlight"
function locateme() {
highlight._x = _root[myMap[locatory][locatorx]]._x;
highlight._y = _root[myMap[locatory][locatorx]]._y;
} |
Partager