因此,基本上,我想要做的是替換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