首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图库上一张图片修复

图库上一张图片修复
EN

Stack Overflow用户
提问于 2011-12-26 22:54:32
回答 1查看 237关注 0票数 2

我几乎得到了我想要的东西,除了当我向前或向后点击我的图像时,一旦它达到数组长度,下一个图像就不会显示。当我添加checkImage()方法时,这只是一个问题。有人看到我哪里错了吗?

修复**

代码语言:javascript
复制
package 
{

    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.display.DisplayObject;
    import flash.events.Event;
    import flash.events.MouseEvent;


    import com.greensock.TweenMax;
    import com.greensock.layout.*;
    import com.greensock.loading.LoaderMax;
    import com.greensock.loading.XMLLoader;
    import com.greensock.loading.ImageLoader;
    import com.greensock.events.LoaderEvent;
    import com.greensock.loading.display.ContentDisplay;
    import com.greensock.loading.data.XMLLoaderVars;


    public class Main extends MovieClip
    {

        public var imgHolder:MovieClip;

        private var ls:LiquidStage;
        private var la:LiquidArea;
        private var xml:XMLLoader;
        private var index:int = 0;
        private var images:Array;


        public function Main()
        {
            arrowRight.alpha = arrowLeft.alpha = .5;
            xmlLoader();
        }

        private function xmlLoader():void
        {
            LoaderMax.activate([ImageLoader]);
            xml = new XMLLoader("assets/data.xml", new XMLLoaderVars()
                                                    .name("loader")
                                                    .estimatedBytes(600000)
                                                    .onComplete(xmlLoaded)
                                                    .onProgress(loadProgress));
            xml.load();

        }

        private function xmlLoaded(e:LoaderEvent):void
        {
            trace("Loaded");
            arrowListeners();
            showImage(index);
        }

        private function loadProgress(event:LoaderEvent):void
        {
            progressMC.progressBar.scaleX = event.target.progress;
        }

        private function showImage(index:int):void

        {
            ls = new LiquidStage(this.stage, 1024, 768, 1024, 768);
            la = new LiquidArea(imgHolder, 0, 0, 1024, 768);

            images = LoaderMax.getContent("loader"); 

            imgHolder.addChild(images[index]);

            TweenMax.from(images[index], 1, {alpha:0});
            la.attach(images[index], {scaleMode:ScaleMode.PROPORTIONAL_OUTSIDE, crop:true});


        }

        // BUTTON FUNCTIONS
        private function arrowListeners():void
        {
            arrowRight.addEventListener(MouseEvent.ROLL_OVER, rollOverArrowHandler, false, 0, true);
            arrowRight.addEventListener(MouseEvent.ROLL_OUT, rollOutArrowHandler, false, 0, true);
            arrowRight.addEventListener( MouseEvent.CLICK, showNext );
            arrowLeft.addEventListener(MouseEvent.ROLL_OVER, rollOverArrowHandler, false, 0, true);
            arrowLeft.addEventListener(MouseEvent.ROLL_OUT, rollOutArrowHandler, false, 0, true);
            arrowLeft.addEventListener( MouseEvent.CLICK, showPrev );
        }

        private function rollOverArrowHandler(e:MouseEvent):void
        {
            TweenMax.to(e.currentTarget, 0.5, {alpha:1});
        }

        private function rollOutArrowHandler(e:MouseEvent):void
        {
            TweenMax.to(e.currentTarget, 0.5, {alpha:.5});
        }

        // CLICK LISTENERS
        private function showNext( e:MouseEvent ):void
        {
            index++
            if (index > images.length - 1) 
            {
                index = 0;
            }

            showImage(index);
        }

        private function showPrev( e:MouseEvent ):void
        {
            index--
            if (index < 0) 
            {
                index = images.length - 1;
            }
            showImage(index);
        }

    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-26 23:05:00

有几件事浮现在脑海中:

1) index是一个全局变量和一个函数参数-冲突?

2)在checkimage函数中,传入'index‘,但在getChildAt和RemoveChildAt中引用0

3)如果numchildren >0为true,则不要在checkimage中调用showimage

我想追查所有这些来理清头绪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8636799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档