Une réponse à la première question: en fait, vous parlez de cadre simple jeu pour la plate-forme Flash. Celui que j'ai utilisé est basé sur l'approche machine d'état. Chaque état représente un élément de jeu (menu ou jeu réel, dans votre cas):
public static const STATE_SCENE_1:int = 10;
public static const STATE_SCENE_2:int = 20;
public static const STATE_GAME_OVER:int = 30;
public var gameState:int = 0;
Ensuite, vous devez changer les états de jeu (à partir du menu de jeu par exemple), la meilleure pratique consiste à utiliser la boucle de jeu principal:
public function gameLoop(e:Event):void {
switch(gameState) {
case STATE_SCENE_1 :
initScene1();
break
case STATE_SCENE_2:
initScene2();
break;
case STATE_GAME_OVER:
gameOver();
break;
}
}
Notez que le code précédent a une fonction nommée gameLoop(), vous devez appeler itérativement par un événement de timer tick ou par événement ENTER_FRAME:
public function Game() {
addEventListener(Event.ENTER_FRAME, gameLoop);
gameState = STATE_INIT;
}
Après cela, tous vos le traitement du jeu sera transféré à la fonction initScene1(). Là, vous pouvez ajouter votre menu de départ et l'animer selon vos besoins.
Ici, dans initScene2() va votre logique de jeu. Vous pouvez créer des ennemis, les faire bouger et d'autres logique.
public function initScene2():void {
makeEnemies();
moveEnemies();
testCollisions();
testForEnd();
}
Ensuite, si la logique principale du jeu décide de terminer le jeu, vous devez changer l'état de STATE_GAME_OVER et afficher les résultats en fonction GameOver() du joueur. Pour plus de détails sur les frameworks de jeu, vous pouvez utiliser "Le Guide Essentiel des Jeux Flash" de Jeff Fulton et Steve Fulton.
Espérons que cela aide.
Merci, j'ai fini par obtenir ce livre, très utile, merci! – WWaldo