我想設置一個動畫片段按鈕的數組,以通過標籤在我的時間線上導航,這就是梨形狀的位置。AS3流體動畫和AT狀態下的動畫片段按鈕陣列
花了三天的時間閱讀並嘗試了大多數在線解決方案後,我找不到某種方法在不失敗的情況下以100%的效率工作。
我已經有一些喜悅下面的方法在看到博客條目涵蓋不同的方式來調用框架等,並突出其下面的怪物:
clipArray[i].mouseChildren = false; //Hidden bugbear
我添加了下面這樣希望的完整代碼它可能會幫助其他類似的人嘗試使用hari-kari。
import flash.events.MouseEvent;
import flash.events.Event;
var clipArray:Array = [btn_1,btn_2]; // Movieclip's called btn_1 etc...
var destArray:Array = ["page_1","page_2"]; Labels on timeline...
for (var i:int = 0; i < clipArray.length; i++) {
clipArray[i].buttonMode = true; // Define Button from Movie Clip
clipArray[i].useHandCursor = true; // Enable HandCursor over clip
clipArray[i].mouseChildren = false; // Define clip as single denomination
clipArray[i].addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
clipArray[i].addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
clipArray[i].addEventListener(Event.ENTER_FRAME, frameHandler);
clipArray[i].addEventListener(MouseEvent.CLICK,clickHandler, false, 0, true);
}
function clickHandler(event:MouseEvent):void {
for (var i:int = 0; i < clipArray.length; i++) {
if (event.currentTarget == clipArray[i]) {
this.gotoAndStop(destArray[i]);
clipArray[i].mouseEnabled = false;
clipArray[i].useHandCursor = false;
clipArray[i].alpha = 0.5;
} else {
clipArray[i].mouseEnabled = true;
clipArray[i].useHandCursor = true;
clipArray[i].alpha = 1;
}
}
}
function mouseOverHandler(e:MouseEvent){
e.target.onOff = true;
}
function mouseOutHandler(e:MouseEvent){
e.target.onOff = false;
}
function frameHandler(e:Event){
if(e.target.onOff){
e.target.nextFrame();
} else {
e.target.prevFrame();
}
}
這工作得很好,然而現在我是否是「好」的代碼或不理解是一個問題,如果能以任何方式我想知道改善爲何以及如何作爲的問題從2學習AS3是因爲你經常使用在線看到的代碼,而沒有充分掌握細節。
暫時,我很高興,因爲這被證明是一個噩夢發現或解決,並希望它可以幫助任何人處於類似的心態。
添加具有流動性,這從一個數組抵消成爲當你學習了三天的使命影片剪輯按鈕...
感謝您的答覆和你輸入。它是一個來自AS2的沉重的學習曲線! 就我個人而言,我仍然有點不確定軟件包在Flash中的工作原理。作爲新手,我發現它很奇怪,我不確定爲什麼以及如何對代碼進行最佳排序,再加上我試圖做的差異更容易內聯。 我可以在某些方面看到你的方法中的邏輯,但是當它在包裝中時,它有點超出我的把握。希望很快。 – esadude 2012-03-13 20:26:24
同時,您不確定的mouseOverHandler項目是從另一個示例中修改的,我看到它使鼠標懸停以允許流體操作nextFrame代碼。 我有一個真正的問題,它要麼註冊一個框架向前,或類似的整個陣列在parralel工作,一天後,我設法使用這個來啓用按鈕動畫之間的流體運動,同時仍然導航通過destArray沒有任何顯示錯誤報告。 我真的很高興它的工作,如何變得無關緊要... – esadude 2012-03-13 20:26:41
我在我的網站上工作,這是相當沉重,但理解一些AS3行話的技巧是一個殺手,它更加惱人,當你可以發現問題,但無法找到答案。 按鈕我也嘗試了ROLL_OVER但必須有一些編碼錯誤的地方,因爲我把似乎只該爲我工作的方式方法。 – esadude 2012-03-13 20:27:32