`

flash 游戏开发

 
阅读更多
1、打字游戏
   运行效果:

   业务逻辑:
package classes{
	import flash.text.TextField;
	import flash.display.MovieClip;
	import flash.events.KeyboardEvent;
	public class MyTyperGame extends MovieClip{
		public var m_nRight:int = 0;
		public var m_nWrong:int = 0;
		public function MyTyperGame(){
			setText();
			this.stage.focus = T_Input;
			T_Input.addEventListener(KeyboardEvent.KEY_UP,onKeyboardUp);
		}
		public function setText(){
			var ascii:int = int(Math.random() * 26) + 65;
			T_Letter.text = String.fromCharCode(ascii);
			T_Input.text = "";
			T_RightTimes.text = "正确按键次数:"+ String(m_nRight);
			T_WrongTimes.text = "错误按键次数:"+ String(m_nWrong);
		}
		public function onKeyboardUp(e:KeyboardEvent){
			var temp:String = T_Input.text.toUpperCase();
			if(T_Letter.text == temp){
				m_nRight++;
			}else{
				m_nWrong++;
			}
			setText();
		}
	}
}

2、拼图游戏
   运行效果:

   业务逻辑:
package classes{
	import flash.display.MovieClip;
	import flash.text.TextField;
	import flash.events.KeyboardEvent;
	import flash.ui.Keyboard;
	public class PuzzleGame extends MovieClip {
		public var m_Array:Array;
		public var m_nRow,m_nCol:int;

		public function PuzzleGame() {
			Reset();
			this.stage.addEventListener(KeyboardEvent.KEY_UP,onKeyboardUp);
		}
		public function Reset():void {
			T_FinishText.visible = false;
			m_Array = null;
			m_Array = new Array();
			m_Array.push(T_P1,T_P2,T_P3,T_P4,T_P5,T_P6,T_P7,T_P8,T_P9);

			m_nRow = 0;
			m_nCol = 0;
			var temp:MovieClip;
			var m,n:int;
			for (var i:int = 0; i < 5; i++) {
				m = randRage(1,8);
				n = randRage(1,8);
				temp = m_Array[m];
				m_Array[m] = m_Array[n];
				m_Array[n] = temp;
			}
			setPos();
		}
		public function randRage(min:int,max:int):int {
			var range:int = max - min + 1;
			var randomNum:int = int(Math.random() * range + min);
			return randomNum;
		}
		public function setPos():void {
			var row,col:int;
			for (row = 0; row < 3; row++) {
				for (col = 0; col < 3; col++) {
					m_Array[row * 3 + col].x = col * 150;
					m_Array[row * 3 + col].y = row * 94;
				}
			}
			puzzle.x = m_nCol * 150;;
			puzzle.y = m_nRow * 94;
		}
		public function exChange(row:int,col:int):void {
			
			if (T_FinishText.visible) {
				return;
			}
			if (row < 0 || row >=3 || col < 0 || col >= 3) {
				return;
			}
			var temp:MovieClip;
			var newIndex:int = row * 3 + col;
			var oldIndex:int = m_nRow * 3 + m_nCol;
			temp = m_Array[newIndex];
			m_Array[newIndex] = m_Array[oldIndex];
			m_Array[oldIndex] = temp;
			m_nRow = row;
			m_nCol = col;
			setPos();
		}
		public function onKeyboardUp(e:KeyboardEvent):void {
			switch (e.keyCode) {
				case Keyboard.UP :
					exChange(m_nRow + 1,m_nCol);
					break;
				case Keyboard.DOWN :
					exChange(m_nRow - 1,m_nCol);
					break;
				case Keyboard.LEFT :
					exChange(m_nRow,m_nCol + 1);
					break;
				case Keyboard.RIGHT :
					exChange(m_nRow,m_nCol - 1);
					break;
				case Keyboard.SPACE :
					Reset();
					break;
			}
			checkFinish();
		}
		public function checkFinish():void {
			if (m_Array[0] == T_P1 && m_Array[1] == T_P2 && m_Array[2] == T_P3
			&& m_Array[3] == T_P4 && m_Array[4] == T_P5 && m_Array[5] == T_P6
			&& m_Array[6] == T_P7 && m_Array[7] == T_P8 && m_Array[8] == T_P9) {
				T_FinishText.visible = true;
			}
		}
	}
}

3、棋牌游戏
   运行效果:

4、打飞机游戏
   运行效果:

  • 大小: 14.4 KB
  • 大小: 191 KB
  • 大小: 15.6 KB
  • 大小: 12.8 KB
  • 大小: 8.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics