天天看点

FLASH推箱子游戏分析(一)人物控制

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

继续阅读