现在的位置: 首页 > 综合 > 正文

第4节 角色状态的改变——Flash ActionScript3游戏开发入门教程

2013年10月01日 ⁄ 综合 ⁄ 共 772字 ⁄ 字号 评论关闭

游戏开发中很重要的一点就是状态的使用,不论是角色的状态,还是游戏的状态。

要在Flash中使用状态,以角色的状态为例,在类中定义如下常量:

public static const STATE_INIT:int = 10;
public static const STATE_WALK:int = 20;
public static const STATE_RUN:int = 30;

其中数值只要不一样,在int范围之内就可以。这样就定义了角色的几种状态。然后再在类中定义变量:

public var gameState:int = 0;

这个代表角色的当前状态。也可以设置成private的。

顺便提一下,AS3的规范,private变量名字一般用下划线_开头,比如刚才那个变量改成private应该写成:

private var _gameState:int = 0;

我也比较赞同AS3的做法。

然后再在角色的gameLoop方法中,写如下结构的语句:

switch(gameState) {
case STATE_INIT :
//角色初始化
break;
case STATE_WALK:
//角色走路
break;
case STATE_RUN:
//角色跑步
break;
}

这个switch-case语句,通过gameState,控制了角色状态的改变。

接下来,我再说一下如何建立多个状态的角色元件。

其实也很简单,只需要在角色中创建多个关键帧,然后在代码中用this.gotoAndStop(帧数);切换就可以了,当然要在构造方法中添加this.stop();来停止动画的播放。至于关键帧的时间,只需要一帧即可。

使用“帧标签”可以更加方便。在角色元件,点击一个关键帧,查看属性,找到“帧标签”:

 

 

至于多个状态的游戏场景,只需要使用多个场景元件,然后让它们接连使用addChild和removeChild从舞台上增加和移除即可。

抱歉!评论已关闭.