Actionscript 3 水平图像滚动条setChildIndex仅影响其他嵌套movieclip
这个图像滚动器由一个容器mc组成,其中包含7个movieclips,每个movieclips都有一个图像和一个边框。从另一个类中按每个箭头键时,边框从alpha 0变为1。在我尝试将“next”的ChildIndex设置为container.numChildren-1之前,滚动条本身一直工作。然后它会影响到其他所有的mc,并把它搞砸。有没有更好的方法来实现这种前后滚动?谢谢你的建议。我试图实现的是让每个“支架”成为容器内的顶部深度Actionscript 3 水平图像滚动条setChildIndex仅影响其他嵌套movieclip,actionscript-3,flash,Actionscript 3,Flash,这个图像滚动器由一个容器mc组成,其中包含7个movieclips,每个movieclips都有一个图像和一个边框。从另一个类中按每个箭头键时,边框从alpha 0变为1。在我尝试将“next”的ChildIndex设置为container.numChildren-1之前,滚动条本身一直工作。然后它会影响到其他所有的mc,并把它搞砸。有没有更好的方法来实现这种前后滚动?谢谢你的建议。我试图实现的是让每个“支架”成为容器内的顶部深度 package { import com.greensock.
package
{
import com.greensock.TweenMax;
import flash.display.Bitmap;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class ImageBank extends MovieClip
{
private var loader:Loader;
private var req:URLRequest;
private var container:Sprite;
private var border:Border;
private var holder:Sprite;
private var numImages;
private var currentImage:uint = 0;
private var prevImage:uint;
private var borderNext:*;
private var borderLast:*;
public function ImageBank(path:String, numImages:uint)
{
this.numImages = numImages
container = new Sprite()
addChild(container);
for (var i:uint = 0; i < numImages; i++) {
border = new Border();
border.alpha = 0;
holder = new Sprite()
holder.x = i * 165;
loader = new Loader()
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
req = new URLRequest(path + 'poster_' + i + '.png');
loader.load(req);
loader.x += 4;
loader.y += 3;
loader.alpha = .8;
holder.addChild(border);
holder.addChild(loader);
container.addChild(holder);
}
}
public function removeBorder():void {
TweenMax.to(borderNext, .4, {alpha:0});
}
public function tweenNext():void {
var next = container.getChildAt(currentImage);
TweenMax.to(next, .4, {transformAroundCenter:{scale:1.1}});
container.setChildIndex(next, container.numChildren-1);
borderNext = next.getChildAt(0)
TweenMax.to(borderNext, .4, {alpha:1});
if (currentImage > 0) {
var last = container.getChildAt(currentImage-1);
TweenMax.to(last, .4, {transformAroundCenter:{scale:1}});
borderLast = last.getChildAt(0)
TweenMax.to(borderLast, .5, {alpha:0});
}
if (currentImage < 6){
currentImage ++;
prevImage = currentImage -1
}
}
public function tweenPrev():void {
var next = container.getChildAt(prevImage);
TweenMax.to(next, .4, {transformAroundCenter:{scale:1.1}});
container.setChildIndex(next, container.numChildren-1);
var borderNext = next.getChildAt(0)
TweenMax.to(borderNext, .5, {alpha:1});
if (prevImage < 7) {
var last = container.getChildAt(prevImage+1);
TweenMax.to(last, .4, {transformAroundCenter:{scale:1}});
var borderLast = last.getChildAt(0)
TweenMax.to(borderLast, 1, {alpha:0});
}
if (prevImage > 0) {
prevImage --;
currentImage --;
}
}
private function onLoaded(event:Event):void {
//loaded
}
}
}您是否只想在不影响其他对象的情况下将下一个显示对象显示出来?尝试container.addchildnext而不是setChildIndex。这不会影响其他人的。谢谢。我也试过了,但还是影响了第一、第三、第五张图片。不知道为什么。