天天看點

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

繼續閱讀