FLASH推箱子遊戲分析(一)---人物控制!
首先,我們人物控制着手。人物控制主要就是上、下、左、右。
通過按鍵盤的上、下、左、右按鍵,來控制場景中的人物。先來看示範:
[url=http://www.taoshaw.com/taoshaw/study/tuixiangzi/%E4%BA%BA%E7%89%A9%E6%8E%A7%E5%88%B6.swf]http://www.taoshaw.com/taoshaw/study/tuixiangzi/人物控制.swf[/url]
這裡,主要用到鍵盤監聽,以及switch函數。
代碼如下:
//建立空MC
this.createEmptyMovieClip("Per", this.getNextHighestDepth);
//将人物剪輯調出到場景中
this.attachMovie("person", "Per", this.getNextHighestDepth);
//初始化MC的位置
Per._x = 275;
Per._y = 260;
//設定人物每次移動的距離
var tepx:Number = 35;
//建立鍵盤偵聽,接收鍵盤消息
var keyListener:Object = new Object();
//監聽鍵盤按鍵資訊,并擷取按鍵碼
keyListener.onKeyDown = function() {
switch (Key.getCode()) {
case Key.UP :
dir = "上";
break;
case Key.DOWN :
dir = "下";
break;
case Key.LEFT :
dir = "左";
break;
case Key.RIGHT :
dir = "右";
break;
}
movePer();
};
Key.addListener(keyListener);
//設定人物移動函數
function movePer():Void {
switch (dir) {
//當按下"上"鍵時,人物往上移動前面設定的那麼多個像素,下同
case "上" :
Per._y -= tepx;
Per.gotoAndStop(4);
break;
case "下":
Per._y+=tepx;
Per.gotoAndStop(1);
break;
case "左":
Per._x-=tepx;
Per.gotoAndStop(2);
break;
case "右":
Per._x+=tepx;
Per.gotoAndStop(3);
break;
}
}
對代碼的解釋,我個人認為還是很清楚的哈,有不明白的朋友請留言。
本文轉自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/3017.html