DFdou's Blog Life is short,Be yourself.

7kankan11bookekzw免费小说网要看书网 官路风流 酒神 uawx书都阅读网 冒牌大英雄 斗罗大陆
1305/108

AS3-LightOut

鏉ヤ釜LightOut灏忔父鎴忥紝鑷充簬LightOut鏄暐锛屽彲浠ョ湅杩欓噷:http://en.wikipedia.org/wiki/Lights_Out_%28game%29
濡傛灉璇ラ〉闈㈣鍜岃皭锛岄偅鍙互鐪嬩笅@dfdou鐨勭畝鍗曚粙缁嶏紝LightOut鏄竴涓紑/鍏虫父鎴忥紝娓告垙鐨勭洰鐨勫緢绠鍗曪紝鍦5x5鐨勭殑鏂归樀閲岋紝鎶婂叏閮ㄧ殑鍥炬崲鎴愪寒鐫鐨勭姸鎬佸氨杩囧叧浜嗭紝Demo閲屾槸鐧借壊鏂瑰潡浠h〃浜捣鐘舵併
瑙勫垯鏄偣鍑讳竴涓柟鍧楋紝鍦ㄦ柟鍧4鍛ㄧ殑4涓柟鍧楀拰鏂瑰潡鏈韩鐨勭姸鎬佷細鍙戠敓鏀瑰彉锛屾槸浜捣灏卞彉鎴愬叧鎺夛紝鏄叧鎺夊氨鍙樻垚浜捣锝

Demo鍦ㄨ繖閲岋細

涓嬭竟鏉ヨ涓嬩唬鐮侀儴鍒嗭紝姣旇緝绠鍗曪紝3涓被鎼炲畾銆

1404/1011

AS3-Sokoban鎺ㄧ瀛

鍏堟槸Demo锛

鏂瑰悜閿帶鍒剁Щ鍔紝绾㈣壊鐨勬柟鍧楁槸浣狅綖
UI鍢涳紝灏变笉璇翠簡锛岀綉涓婂伔浜嗙偣鍥撅紝灏辫繖涔堟斁鐫浜嗭紝鏈夊叴瓒g殑鍙互寮勫紕鍛椼

Source code:https://dl.dropbox.com/u/477487/flash/game/sokoban.rar

PS锛氬鏋滆鍦板潃琚拰璋愶紝鑰屼綘鍙堟兂瑕佹簮浠g爜锛岃仈绯绘垜锛屾湇鍔″緢鍛ㄥ埌鐨勶綖

鎺ㄧ瀛愮殑瀹炵幇鏂规硶寰堝锛屽悇鏈夊悇鐨勫仛娉曪紝涓嬭竟鏄垜鐨勫疄鐜版柟寮忥細
Sokoban.as:

package {
	import flash.display.Sprite;
	import flash.events.Event;
	/**
	 * ...
	 * @author DFdou
	 */
	public class Sokoban extends Sprite {
		private var _lv = 0;
		private var _map:Map;

		public function Sokoban() {
			init();
		}
		private function init() {
			_map = new Map(_lv);
			addChild(_map);

			var role:Role = new Role(stage,_map,_lv);
			addChild(role);
		}

	}
}

鏂囨。绫昏骞茬殑浜嬪効灏辨槸鐢熸垚涓涓猰ap锛屼竴涓猺ole銆

203/104

AS3-绫讳技浜庢満鎴樼殑瑙掕壊绉诲姩(鍩轰簬Tile)

鍏堟潵鐪嬩笅Demo锛

婧愪唬鐮佷笅杞藉湴鍧:http://dl.dropbox.com/u/477487/flash/game/mapMove.rar
鍙仛浜嗙Щ鍔紝閲嶅彔鍜岄樆鎸$殑閮ㄥ垎娌″仛锛岀煭鏃堕棿鍐呬笉浼氭湁鏃堕棿鍋氱殑=,=
涓昏閫昏緫鏄繖鏍凤紝閫変腑Role灏辨樉绀哄彲浠ヨ璧扮殑鑼冨洿锛岄夊叾涓竴鐐逛箣鍚嶳ole灏辩Щ鍔ㄣ
涓嬭竟鐪嬩笅绠鍗曠殑瀹炵幇銆備富瑕佹槸OverlayView.as鍜孯ole.as锛屾垜寰堟噿锛屽叾浠栦唬鐮佸ぇ瀹惰嚜宸辩湅鈥︹

Tagged as: , Continue reading
1008/098

AS3-杩炶繛鐪嬬殑涓昏绠楁硶



杩欏嚑澶╀竴鐩村湪蹇欑殑涓涓笢瑗,鍥犱负鏃堕棿鐨勫叧绯,鍙紕浜嗕富瑕佺殑绠楁硶,璁℃椂,鍒嗘暟,鍒掔嚎,鐐瑰嚮鏁堟灉绛夊唴瀹归兘娌℃湁绠=.=
鍏堟潵鐪嬭繛杩炵湅鐨勮鍒欏垎鏋愶紝杩欓噷灏嗛変腑鐨2涓狾bj鍒3绉嶆儏鍐垫潵璁ㄨ锛屼竴鏄悓浣嶄簬X杞达紝浜屾槸鍚屼綅浜嶻杞达紝涓夋槸涓嶅悓X锛孻杞淬
鑰岀涓夌鎯呭喌鍏跺疄鍙堝彲浠ュ綊缁撳埌绗1鍜岀2绉嶆儏鍐碉紝鍏蜂綋鐨勬搷浣滄槸鍏堝垽鏂槸鍚﹀悓X,Y杞,鏄殑璇濆厛妫娴嬭兘鍚︾洿杩,涓嶈兘鐨勮瘽鍒ゆ柇涓嶇洿杩炵殑鎯呭喌.
濡傛灉涓よ呭睘浜庝笉鍚岀殑X,Y杞,閭d箞鍏堝垽鏂氳繃涓鐐硅繛鎺,鐒跺悗鍐嶅垽鏂氳繃涓ょ偣杩炴帴鐨勬儏鍐,杩欓噷鍥炬柟渚跨敤浜嗘渶鐑傜殑鏂规硶.

Tagged as: , Continue reading
2007/090

AS3-瀛愬脊韬查伩娓告垙(涓)

鎺ヤ笂涓绡銆夾S3-瀛愬脊韬查伩娓告垙(涓)銆
鏈変簡Enemy鍜孯ole涔嬪悗锛岃嚜鐒跺氨鏄父鎴忕殑涓讳綋鎺у埗閮ㄥ垎浜嗭紝杩欓噷鏄疓ame绫伙細
杩欎釜绫昏礋璐g敓鎴愬灏戜釜Enemy锛孯ole濡備綍绉诲姩锛屾父鎴忓浣曞紑濮嬪拰濡備綍缁撴潫锛屼互鍙婃帶鍒跺叾浠栦簨鍔★紝姣斿璁版椂绫汇

package{
	import flash.display.Sprite;
	import flash.events.*;
	import flash.utils.Timer;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import fl.controls.Button;
	import Config;
	import Role;
	import Enemy;
	import TimeCount;

	public class Game extends Sprite{
		private var _role:Role;
		private var _enemy:Sprite;
		private var _time:TimeCount;
		private var _enemyTotal:uint;
		private var _gameFlag:Boolean;

		private var startBtn:Button;
		private var gameInfo:TextField;

		//瀛樺偍鍥涗釜鏂瑰悜閿槸鍚︽寜涓嬬殑鍙橀噺
		private var leftArrow:Boolean=false;
		private var rightArrow:Boolean=false;
		private var upArrow:Boolean=false;
		private var downArrow:Boolean=false;

		public function Game():void{
			startBtn = new Button();
			startBtn.label = "StartGame";
			startBtn.x=(Config.STAGE_W-startBtn.width)/2;
			startBtn.y=(Config.STAGE_H-startBtn.height)/2;
			addChild(startBtn);
			startBtn.addEventListener(MouseEvent.MOUSE_DOWN,gameStart);
			gameInfo = new TextField();
			gameInfo.autoSize = TextFieldAutoSize.LEFT;
			gameInfo.selectable = false;
			gameInfo.text = "涓婁笅宸﹀彸鏂瑰悜閿帶鍒舵柟鍧楃Щ鍔紝琚粦鐞冨嚮涓氨鎸備簡銆";
			gameInfo.x = (Config.STAGE_W-gameInfo.width)/2;
			gameInfo.y = startBtn.y-30;
			addChild(gameInfo);
		}
		private function gameStart(_evt:MouseEvent):void{
			startBtn.removeEventListener(MouseEvent.MOUSE_DOWN,gameStart);
			startBtn.visible = false;
			gameInfo.visible = false;
			init();
		}
		private function init():void{
			initTime();
			initRole();
			initEnemy();
		}
		private function initTime():void{
			_time = new TimeCount();
			addChild(_time);
		}
		private function initRole():void{
			_role = new Role();
			addChild(_role);
			_role.x=(Config.STAGE_W-_role.width)/2;
			_role.y=(Config.STAGE_H-_role.height)/2;
			stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
			stage.addEventListener(KeyboardEvent.KEY_UP, keyPressedUp);
			_role.addEventListener(Event.ENTER_FRAME, roleMove);
			stage.addEventListener(Event.DEACTIVATE, missingStage);//Flash澶勪簬闈炴椿鍔ㄧ姸鎬佹椂璋冪敤
		}

		private function initEnemy():void{
			_enemyTotal = Config.ENEMY_TOTAL;
			var t:Timer=new Timer(2000,1);
			t.addEventListener(TimerEvent.TIMER, timeToCreateEnemy);
            t.start();
		}

		private function createEnemy():void{
			var enemy=new Enemy();
			enemy.setRole(_role);
			_enemy.addChild(enemy);
		}
		private function getEnemyNum():uint{
			return this.numChildren;
		}

		private function timeToCreateEnemy(_evt:TimerEvent):void{
			_enemy = new Sprite();
			addChild(_enemy);
			for (var i:uint=0; i<_enemytotal ; i++) {
				createEnemy();
			}
			addEventListener(Event.ENTER_FRAME,checkFlag);
		}

		//鎸夐敭鏃剁殑妫娴嬶紝宸︿笂鍙充笅鍒嗗埆鏄37锛38锛39锛40
		private function keyPressedDown(_evt:KeyboardEvent) {
			if (_evt.keyCode==37) {
				leftArrow=true;
			} else if (_evt.keyCode == 39) {
				rightArrow=true;
			} else if (_evt.keyCode == 38) {
				upArrow=true;
			} else if (_evt.keyCode == 40) {
				downArrow=true;
			}
		}

		//鏉惧紑鎸夐敭鏃
		private function keyPressedUp(_evt:KeyboardEvent) {
			if (_evt.keyCode==37) {
				leftArrow=false;
			} else if (_evt.keyCode == 39) {
				rightArrow=false;
			} else if (_evt.keyCode == 38) {
				upArrow=false;
			} else if (_evt.keyCode == 40) {
				downArrow=false;
			}
		}
		private function roleMove(_evt:Event) {
			//绉诲姩鐨勯熷害
			var speed:Number=Config.ROLE_SPEED;
			if (leftArrow) {
				//MC鐨勪綅缃娴嬶紝涓嬭竟鐩稿悓
				if (0<=_role.x) {
					_role.x-=speed;
				}
			}
			if (rightArrow) {
				if (_role.x<=Config.STAGE_W-_role.width) {
					_role.x+=speed;
				}
			}
			if (upArrow) {
				if (0<=_role.y) {
					_role.y-=speed;
				}
			}
			if (downArrow) {
				if (_role.y<=Config.STAGE_H-_role.height*2) {
					_role.y+=speed;
				}
			}
		}

		//Flash澶勪簬闈炴縺娲荤姸鎬佹椂
		private function missingStage(_evt:Event) {
			leftArrow=false;
			rightArrow=false;
			upArrow=false;
			downArrow=false;
		}
		private function checkFlag(_evt:Event):void{
			//trace(_gameFlag);
			if(_gameFlag){
				_gameFlag = false;
				gameOver();
			}
		}
		private function gameOver(){

			removeEventListener(Event.ENTER_FRAME,checkFlag);
			_time.stopTime();

			gameInfo.text = "You Failed At " + _time.getTime() + " Second!";
			var format:TextFormat = new TextFormat();
			format.font = "Arial";
            format.color = 0xFF0000;
            format.size = 30;
            gameInfo.setTextFormat(format);
			gameInfo.x=(Config.STAGE_W-gameInfo.textWidth)/2;
			gameInfo.y=(Config.STAGE_H-gameInfo.textHeight)/2;
			gameInfo.visible = true;

			startBtn.visible = true;
			startBtn.y = gameInfo.y + 40;
			startBtn.addEventListener(MouseEvent.MOUSE_DOWN,gameStart);

			//_role.roleClear();
			_role.removeEventListener(Event.ENTER_FRAME, roleMove);
			removeChild(_role);

			while(_enemy.numChildren>0){
				Enemy(_enemy.getChildAt(0)).enemyClear();
				_enemy.removeChildAt(0);
			}
			removeChild(_enemy);
		}
		public function setGameFlag(_value:Boolean):void{
			_gameFlag = _value;
		}
	}
}

1707/091

AS3-瀛愬脊韬查伩娓告垙(涓)

鍏堟潵Demo锛

2304/090

GAME-Quake Live

Quake
Quake Live锛http://www.quakelive.com
鏃犳瘮寮哄ぇ鐨凢lash鐗堟湰锛屾父鎴忔瑙勫閲忓簲褰撳湪800M宸﹀彸鐨勬晥鏋滃仛鍦ㄤ簡10M宸﹀彸鐨凢lash閲岃竟锛屽己澶х殑鍦版柟锛屾湁鍏磋叮鐨勫彲浠ュ幓鍙傝涓涓嬨

2203/090

GAME-NamePK 鍩轰簬MD5鐨勫悕瀛桺K(涓)

涓婃帴锛氣GAME-NamePK 鍩轰簬MD5鐨勫悕瀛桺K(涓)
Source Code锛

import org.nwhy.Player;
//杩欎釜鏄疉s3CoreLib閲岀殑宸ュ叿绫
import com.adobe.utils.StringUtil;
import gs.TweenLite;

btnStart.buttonMode=true;
btnStart.addEventListener (MouseEvent.CLICK,gameStart);
//寮濮嬫父鎴
function gameStart (_evt:MouseEvent) {
	var p1Name:String=trimStr(inputP1.text);
	var p2Name:String=trimStr(inputP2.text);
	if (checkPName (p1Name) && checkPName (p2Name)) {
		txtInfoShow.text="";
		btnStart.buttonMode=false;
		btnStart.removeEventListener (MouseEvent.CLICK,gameStart);
		var p1=new Player(p1Name);
		initPlayer(p1,mcP1);
		var p2=new Player(p2Name);
		initPlayer(p2,mcP2);
		if(p1.getDex()>=p2.getDex()){
			txtInfoShow.appendText("姣斿鏁忔嵎鍊  "+p1.getName()+"  鑾峰緱浼樺厛鏀诲嚮鏉 \n");
			setTimeout(doPK,2000,p1,p2);
		}else{
			txtInfoShow.appendText("姣斿鏁忔嵎鍊  "+p2.getName()+"  鑾峰緱浼樺厛鏀诲嚮鏉 \n");
			setTimeout(doPK,2000,p2,p1);
		}
	} else {
		txtInfoShow.appendText("璇疯緭鍏ュ悕瀛楋紒\n");
	}
}
//鍒濆鍖栬鑹
function initPlayer(_player:Player,_mc:MovieClip){
	_player.setBindMC(_mc);
	setTxt(_mc.txtName,String(_player.getName()));
	setTxt(_mc.txtHp,String(_player.getHp()));
	setTxt(_mc.txtStr,String(_player.getStr()));
	setTxt(_mc.txtDex,String(_player.getDex()));
	TweenLite.to(_mc.hp,0.3,{width:_player.getHp()/5< &lt;0});
	TweenLite.to(_mc.str,0.3,{width:_player.getStr()*2});
	TweenLite.to(_mc.dex,0.3,{width:_player.getDex()*2});
}
function doPK(_p1:Player,_p2:Player){
	attack(_p1,_p2);
	if(_p2.isAlive()){
		setTimeout(doPK,1000,_p2,_p1);
	}
}
//鏀诲嚮鍑芥暟
function attack(_p1:Player,_p2:Player){
	var p1AttackValue:Array=_p1.attack();
	gameInfoShow(txtInfoShow,p1AttackValue[1],p1AttackValue[0],_p1);
	if(_p1.getRate()>_p2.getRate()){
		_p2.setHp(_p2.getHp()-p1AttackValue[0]);
  		if(_p2.isAlive()){
			setTxt(_p2.getBindMC().txtHp,String(_p2.getHp()));
			TweenLite.to(_p2.getBindMC().hp,0.3,{width:_p2.getHp()/5< &lt;0});
		}else{
			setTxt(_p2.getBindMC().txtHp,"姝讳骸");
			TweenLite.to(_p2.getBindMC().hp,0.3,{width:0});
			txtInfoShow.appendText(_p2.getName()+"  琚墎瓒翠笅  "+_p1.getName()+"  鑾峰緱鑳滃埄 \n");
			btnStart.buttonMode=true;
			btnStart.addEventListener (MouseEvent.CLICK,gameStart);
		}
	}else{
		txtInfoShow.appendText("浣嗘槸  "+_p2.getName()+"  闂紑浜 \n");
	}
}
//鏂囨湰璁剧疆
function setTxt(_txt:TextField,_str:String){
	_txt.text=_str;
}
//鏄剧ずPK瀹炲喌
function gameInfoShow(_txt:TextField,_style:String,_str:uint,_player:Player){
	_txt.appendText(_player.getName()+"  "+_style+"  浼ゅ鍊间负  "+_str+"\n");
}
//绠鍗曠殑瑙佽溅鍚嶅瓧杈撳叆
function checkPName (playerName:String):Boolean {
	if (playerName=="") {
		return false;
	} else {
		return true;
	}
}
//鍘诲乏鍙崇┖鏍煎嚱鏁
function trimStr(_str:String){
	return StringUtil.trim(_str);
}

鐩稿鏉ヨ涓昏灏辨槸鏀诲嚮鐨勯『搴忓垽鏂紝鏀诲嚮鐨勫懡涓紝杩樻湁娓告垙鏄惁缁撴潫鐨勫垽鏂
Source files here:http://dl.getdropbox.com/u/477487/flash/game/namePK.rar

2103/092

GAME-NamePK 鍩轰簬MD5鐨勫悕瀛桺K(涓)

鍏堜笂Demo锛

803/097

GAME-What’s in your brain? 浣犵殑鑴戝唴鏄粈涔?

Demo:


鎯虫硶鏉ヨ嚜http://usokonikki.com/锛岃寰楁尯濂界帺锛屽姞涓婃濂芥兂瀛︿竴涓婮PGEncoder锛屽氨璇曠潃鍋氫簡涓涓嬶紝鍛靛懙锛屾尯鏈夎叮鐨勩
涓嶈繃鐜板疄鍐呭鍙仛浜9甯+绌虹櫧锛屽垰濂藉搴旀暟瀛0-9锛屼篃娌℃庝箞鍘荤爺绌秛sokonikki鏄庝箞鍋氱殑鈥﹀搱銆
鏃犺亰鐨勪汉涔熻瘯涓涓嬪惂锛岀湅鑴戣閲岃鐨勬槸浜涗粈涔堬綖

2402/093

AS3-MC鐨勭Щ鍔ㄦ帶鍒

澶ч儴鍒嗙殑娓告垙锛岄兘绂讳笉寮MC鐨勭Щ鍔紝涓嬭竟鏄竴涓狝S3鐨凪C绉诲姩Demo锛

浠g爜閮ㄥ垎锛

//瀛樺偍鍥涗釜鏂瑰悜閿槸鍚︽寜涓嬬殑鍙橀噺
var leftArrow:Boolean = false;
var rightArrow:Boolean = false;
var upArrow:Boolean = false;
var downArrow:Boolean = false;

stage.addEventListener (KeyboardEvent.KEY_DOWN, keyPressedDown);
stage.addEventListener (KeyboardEvent.KEY_UP, keyPressedUp);
stage.addEventListener (Event.ENTER_FRAME, mcMove);
stage.addEventListener (Event.DEACTIVATE, missingStage);//Flash澶勪簬闈炴椿鍔ㄧ姸鎬佹椂璋冪敤
//鎸夐敭鏃剁殑妫娴嬶紝宸︿笂鍙充笅鍒嗗埆鏄37锛38锛39锛40
function keyPressedDown (_evt:KeyboardEvent) {
	if (_evt.keyCode == 37) {
		leftArrow = true;
	} else if (_evt.keyCode == 39) {
		rightArrow = true;
	} else if (_evt.keyCode == 38) {
		upArrow = true;
	} else if (_evt.keyCode == 40) {
		downArrow = true;
	}
}

//鏉惧紑鎸夐敭鏃
function keyPressedUp (_evt:KeyboardEvent) {
	if (_evt.keyCode == 37) {
		leftArrow = false;
	} else if (_evt.keyCode == 39) {
		rightArrow = false;
	} else if (_evt.keyCode == 38) {
		upArrow = false;
	} else if (_evt.keyCode == 40) {
		downArrow = false;
	}
}

//MC鐨勭Щ鍔ㄩ儴鍒
function mcMove (_evt:Event) {
        //绉诲姩鐨勯熷害
	var speed:Number = 8;
	if (leftArrow) {
                //MC鐨勪綅缃娴嬶紝涓嬭竟鐩稿悓
		if (0<=mc.x) {
			mc.x -= speed;
		}
	}
	if (rightArrow) {
		if(mc.x<=stageW-mc.width-20){
		mc.x += speed;
		}
	}
	if (upArrow) {
		if(0<=mc.y){
		mc.y -= speed;
		}
	}
	if (downArrow) {
		if(mc.y<=stageH-mc.height-20){
		mc.y += speed;
		}
	}
}

//Flash澶勪簬闈炴縺娲荤姸鎬佹椂
function missingStage (_evt:Event) {
	leftArrow = false;
	rightArrow = false;
	upArrow = false;
	downArrow = false;
}
Tagged as: , , 3 Comments
1402/094

Flash-Camera Game浣跨敤鎽勫儚澶寸帺娓告垙

Kiss your keyboard, mouse and joystick goodbye, and start playing games with your webcam!
CamSpace is Super Easy & Super Fun Download version 8.0 Now!
瀹樻柟缃戠珯鍦板潃锛http://www.camspace.com
CamSpace鏄竴娆句娇鐢ㄦ憚鍍忓ご鏉ョ帺鐨勬父鎴忥紝鍝堬紝涓嬭竟鏄紨绀鸿棰戯紝鐪嬭捣鏉ラ潪甯稿ソ鐜╋紒

Tagged as: , , 4 Comments