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函数。
代码如下:
/*------------------ www.taoshaw.com ---------------------*/
//创建空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;
}
}
/*------------------ www.taoshaw.com ---------------------*/
对代码的解释,我个人认为还是很清楚的哈,有不明白的朋友请留言。
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/3017.html
首先,我们人物控制着手。人物控制主要就是上、下、左、右。
通过按键盘的上、下、左、右按键,来控制场景中的人物。先来看演示:
[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函数。
代码如下:
/*------------------ www.taoshaw.com ---------------------*/
//创建空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;
}
}
/*------------------ www.taoshaw.com ---------------------*/
对代码的解释,我个人认为还是很清楚的哈,有不明白的朋友请留言。
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/3017.html