因此,基本上,我想要做的是替换Player MovieClip中已存在的动画片段剪辑的内容,并且它是动画的,因此它具有穿过播放器动画剪辑的剑形MovieClip的多个实例。AS3 - 如何更改所有相同Movieclips运行时的内容?
我可以在ActionScript中以某种方式编辑剑动画片段的内容,以便所有剑动画片段更新并更改?
我想要实现的只是改变角色动画的武器,不需要我等待每一帧,removeChild()前一个武器和addChild()武器的每一个实例的新的武器。
因此,基本上,我想要做的是替换Player MovieClip中已存在的动画片段剪辑的内容,并且它是动画的,因此它具有穿过播放器动画剪辑的剑形MovieClip的多个实例。AS3 - 如何更改所有相同Movieclips运行时的内容?
我可以在ActionScript中以某种方式编辑剑动画片段的内容,以便所有剑动画片段更新并更改?
我想要实现的只是改变角色动画的武器,不需要我等待每一帧,removeChild()前一个武器和addChild()武器的每一个实例的新的武器。
我不知道我得到它,但也许你需要一个武器事件类 包WeaponEvents { import flash.events.Event;
[Event(name="sword1", type="event.sword1")]
[Event(name="sword2", type="event.sword2")]
public class SwordEvent extends Event
{
public static const SWORD_1 : String = "sword1";
public static const SWORD_2 : String = "sword2";
public var arg:*;
public function SwordEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, ... a:*) {
super(type, bubbles, cancelable);
arg = a;
}
//覆盖克隆 覆盖公共函数克隆():事件{ 返回新比如LoadEvent(类型,气泡,或取消,ARG); } } }
只需将事件添加到用户发现武器时。
PS只要您强制键入事件并在不再需要时删除它们,您就不必担心泛型事件的性能问题。 – Papergrave
感谢您的回答。尽管如此,我还没有得到它的工作,但那是因为我忽略了与类和包相关的任何事情。我将所有内容都放在一个文件中,并且我认为跨多个文件的代码适用于更大的项目。这真的很愚蠢,因为我不知道任何关于包,类和导入这些类的内容吗? – lagxbag
我和你在一条类似的船上。除了我有30-50个身体部位掩饰之外,所以我真的不能采用暴力的方式。
如果它只是你想替换的剑,我假设在动画中它是在它自己的层上?然后我发现一个“便宜的方式”是:
MC.gotoAndStop("SwordSwing"); SwordMC.gotoAndStop("Sword1Swing");
这是我知道的贫民窟方式,我非常需要一个实际的高效交换。但这可能会帮助您快速完成项目。
你可以请示出一些代码吗?我的意思是你到目前为止所尝试过的? –
我现在拥有的是 'var weaponName:String =“swordBasic1”; var weaponNameClass:Class = getDefinitionByName(weaponName)as Class; VAR WeaponName =新weaponNameClass;' '如果(PlayerCharMc.currentFrame = 5!){ \t \t \t PlayerCharMc.WeaponMc.addChild(WeaponName); \t \t} else if(PlayerCharMc。currentFrame == 5){ \t \t \t PlayerCharMc.LPunch.WeaponMc.addChild(WeaponName); \t \t}' 这比上年影片剪辑基本上粘贴新的一个,我还没有添加removeChilds,但我明白,我不会和一个灵活的系统跑远。我想改变的是动态库中的动画片段。 – lagxbag