Flash游戏编程指南
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//基本游戏框架
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.*;
import flash.events.*;
import .*;
public class Game extends MovieClip {
public static const STA TE_INIT:int=10;
public static const STA TE_PLAY:int=20;
public static const STA TE_GAME_OVER:int=30;
public var gameState:int=0;
public var clicks:int=0;
public function Game():void {
addEventListener(Event.ENTER_FRAME,gameLoop);
gameState=STA TE_INIT;
}
public function gameLoop(e:Event):void {
switch (gameState) {
case STATE_INIT :
initGame();
break;
case STATE_PLAY :
playGame();
break;
case STATE_GAME_OVER :
gameOver();
break;
}
}
public function initGame():void {
stage.addEventListener(MouseEvent.CLICK,onMouseClickEvent);
clicks=0;
gameState=STA TE_PLAY;
}
public function onMouseClickEvent(e:MouseEvent):void{
clicks++;
trace("mouse click number:"+clicks);
}
public function playGame():void {
if (clicks>=10) {
gameState=STA TE_GAME_OVER;
}
}
public function gameOver():void {
stage.removeEventListener(MouseEvent.CLICK,onMouseClickEvent);
gameState=STA TE_INIT;
trace("game over");
}
}
}
//第二个游戏:扎汽球游戏(正版)
三个元件:ball=new EnemyImage(), bg=new BackImage(), player=new PlayerImage() package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.*;
import flash.events.*;
import flash.geom.Rectangle;
// import flash.media.Sound;
import flash.text.*;
public class Game02 extends flash.display.MovieClip {
public static const STA TE_INIT:int = 10;
public static const STA TE_PLAY:int = 20;
public static const STA TE_END_GAME:int = 30;
public var gameState:int = 0;
public var score:int = 0;
public var chances:int = 0;
public var bg:MovieClip;
public var enemies:Array;
public var player:MovieClip;
public var level:Number = 0;
public var scoreLabel:TextField = new TextField();
public var levelLabel:TextField = new TextField();
public var chancesLabel:TextField = new TextField();
public var scoreText:TextField = new TextField();
public var levelText:TextField = new TextField();
public var chancesText:TextField = new TextField();
public const SCOREBOARD_Y:Number =380;
public function Game02() {
addEventListener(Event.ENTER_FRAME, gameLoop);
bg = new BackImage();
addChild(bg);
scoreLabel.text = "Score:";
levelLabel.text = "Level:";
chancesLabel.text ="Misses:" ;
scoreText.text ="0";
levelText.text ="1";
chancesText.text ="0";
scoreLabel.y = SCOREBOARD_Y;
levelLabel.y = SCOREBOARD_Y;
chancesLabel.y = SCOREBOARD_Y;
scoreText.y = SCOREBOARD_Y;
levelText.y = SCOREBOARD_Y;