改变玩家的皮肤



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

首先,我有一个 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"));

框架"默认"的站立位置也是如此。

为了在特定场景中更改玩家的皮肤,我为每个状态添加了一个全新的帧,即状态名称和皮肤名称,并创建了一组表示新皮肤的动画:以"步行"为例:基本框架名称:"行走"汽车蒙皮车架名称:"步行车"

因此,我添加了一个名为"skinValue"的字符串变量:

public var skinValue:String;

然后在代码中,我将代码从:

gotoAndStop("walk")

自:

gotoAndStop("walk"+skinValue)

我想将"skinValue"设置为"car",这样代码"walk"+skinValue将计算为"walkcar",它将转到车架。

但是,我在设置"皮肤价值"时遇到了问题......而且我真的不知道如何正确定义它......如果有人能帮忙,那就太棒了。

感谢。

当你进入一个新场景时,你会得到一把钥匙,比如"汽车"。

您的角色影片剪辑将提供类似

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

最新更新