我正在尝试创建一个幻灯片样式的演示文稿,其中每个幻灯片/页面都是一个影片剪辑,它们通过滑动动画进行过渡。我遇到的问题是我不希望舞台上的所有电影剪辑一次都出现以防止滞后问题,这是我试图实现的一个示例:
- 当前页面为Page A,点击next按钮
- 页面 B 使用 addChild 放置在舞台上(但放置在视野之外)
- 页面 A 滑出可见的舞台
- B页滑入可见阶段
- 页面 A 使用 removeChild 从舞台上删除 - 这是我遇到问题的地方。
//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]}); }
}