我正在尝试制作一个游戏,我的玩家的皮肤只会在特定场景中改变。
首先,我有一个带有特定角色状态的帧名称的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”之类的字符串变量:
public var skinValue:String;
然后在代码中我将代码更改为:
gotoAndStop("walk")
至:
gotoAndStop("walk"+skinValue)
我想将“skinValue”设置为“car”,这样代码“walk”+skinValue 将评估为“walkcar”,它会转到车架。
但是,我在设置“skinValue”时遇到了问题......而且我真的不知道如何正确定义它......如果有人可以提供帮助,那就太棒了。
谢谢。