改变运动员的皮肤

时间:2013-09-06 07:24:17

标签: actionscript-3

我正在尝试制作一款游戏,我的玩家的皮肤只会在特定场景中发生变化。

首先,我有一个带有特定字符状态帧名的movieClip。因此,当代码希望角色看起来像走路时,它会进入名为“walk”的帧。代码如下:

public function startWalking(inputX:Number, inputY:Number):void{
        targetX = inputX;
        targetY = inputY;

        getIncrements(targetX, targetY);

        gotoAndStop("walk");
        addEventListener(Event.ENTER_FRAME, walk, false, 0, true);
        addEventListener("reachedPoint", stopWalking, false, 0, true);
        dispatchEvent(new Event("playerWalking"));

具有框架“默认”的站立位置也是如此。

为了在特定场景中更改播放器的外观,我为每个状态添加了一个全新的帧,即状态名称和皮肤名称,我创建了一组动画,代表新皮肤: 以“walk”为例: 基本框架名称:“walk” 汽车皮框架名称:“walkcar”

所以,我添加了一个名为“skinValue”的String变量:

public var skinValue:String;

然后在代码中我改变了代码:

gotoAndStop("walk")

为:

gotoAndStop("walk"+skinValue)

我想将“skinValue”设置为“car”,这样代码“walk”+ skinValue将评估为“walkcar”,它将转到车架。

但是,我在设置“skinValue”时遇到了问题......我真的无法弄清楚如何正确定义它... 如果有人可以提供帮助,那就太棒了。

THX。

1 个答案:

答案 0 :(得分:0)

当你去一个新场景时,你会得到一把钥匙,比如“汽车”。

您的角色movieclip将提供类似

的功能
public function goToScene(sceneKey:String):void {
     gotoAndStop("walk" + sceneKey)
}