我試圖創建一個幻燈片樣式演示文稿,其中每個幻燈片/頁面是一個動畫片段,並且它們通過滑動動畫進行轉換。 我的問題是,我不希望在一次悉數登場,影片剪輯,以防止滯後的問題,什麼我想要實現的例子:Flash AS3:ArgumentError:錯誤#2025:提供的DisplayObject必須是調用者的孩子。
- 當前頁是第一個,下一個按鈕卡嗒一聲
- 網頁B被放置在使用addChild階段(但擺放出來的視圖)
- 網頁A滑出可見階段
- 網頁B滑入可見階段使用來自階段被去除
- 網頁A removeChild - 這是我遇到問題的地方。
我必須事先爲我的代碼道歉,我其實是一名設計師,我仍然在學習AS3的基礎知識。我可能以非常迂迴/愚蠢的方式做到了這一點,但現在我會猜測。
code
// greensock stuff import com.greensock。 ; import com.greensock.easing。;
//buttons that navigate to next and previous slides
prevBtn.addEventListener(MouseEvent.CLICK,prevClicked,false,0,true);
nextBtn.addEventListener(MouseEvent.CLICK,nextClicked,false,0,true);
//setting up array of all the pages
var pageArray:Array = [page1, page2, page3, page4, page5];
var currentArray:Number = 0;
//defining the first page and placing it on the stage
var currentPage:MovieClip = new pageArray[currentArray];
addChild(currentPage);
function nextClicked(event:MouseEvent):void{
//check to ensure it is not the last page
if (currentArray < pageArray.length - 1){
//define the current slide as oldPage
var oldPage:MovieClip = new pageArray[currentArray];
currentArray++;
//define the next slide as currentPage and place on stage
var currentPage:MovieClip = new pageArray[currentArray];
addChild(currentPage);
currentPage.x = 1024;
TweenMax.to(currentPage, 1, {x:0});
TweenMax.to(oldPage, 1, {x:-1024,onComplete:removeChild,onCompleteParams:[oldPage]});
}
}
function prevClicked(event:MouseEvent):void{
//check to ensure it is not the first page
if (currentArray > 0){
//define the current slide as oldPage
var oldPage:MovieClip = new pageArray[currentArray];
currentArray--;
//define the next slide as currentPage and place on stage
var currentPage:MovieClip = new pageArray[currentArray];
addChild(currentPage);
currentPage.x = -1024;
TweenMax.to(currentPage, 1, {x:0});
TweenMax.to(oldPage, 1, {x:1024,onComplete:removeChild,onCompleteParams:[oldPage]}); }
}
code
我認爲這是我出錯的地方 - 我從來沒有在任何時候真正將'oldPage'添加到舞臺上,我嘗試將'currentPage'重命名/重新定義爲'oldPage',這樣我就可以將其修改爲在使用removeChild之前,左邊沒有工作。 – user1172903 2012-01-27 07:12:15