Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 水平图像滚动条setChildIndex仅影响其他嵌套movieclip_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 水平图像滚动条setChildIndex仅影响其他嵌套movieclip

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.

这个图像滚动器由一个容器mc组成,其中包含7个movieclips,每个movieclips都有一个图像和一个边框。从另一个类中按每个箭头键时,边框从alpha 0变为1。在我尝试将“next”的ChildIndex设置为container.numChildren-1之前,滚动条本身一直工作。然后它会影响到其他所有的mc,并把它搞砸。有没有更好的方法来实现这种前后滚动?谢谢你的建议。我试图实现的是让每个“支架”成为容器内的顶部深度

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。这不会影响其他人的。谢谢。我也试过了,但还是影响了第一、第三、第五张图片。不知道为什么。