2011-05-08 71 views
2

我试图创建AS3全屏幻灯片。我现在的问题是,如果我点击全屏按钮太快( - >图像已被加载之前并没有因此被添加到舞台)屏幕只是停留黑色,并且没有工作了(下面的图片AREN” :T装载要么闪光:AS3全屏模式的问题 - 屏幕一直是黑

这是问题的一个演示: http://eckquarters.com/watch.php?e6243444a9200c

这里是代码:

function onFirstSlideLoaded(e:Event):void 
      { 
       trace("FIRST SLIDE LOADED EVENT STARTED"); 
       firstImage = imageLoader.getBitmap(e.currentTarget.id); 
       slides.push(firstImage); 
       firstSlideLoaded = true; 
       currentImage.addChild(firstImage); 
       mcSlideHolder.addChild(currentImage); 
       //den Inhalt des Loaders zu einem Container ausgeben 
       trace("FIRST SLIDE ADDED EVENT FINISHED"); 
      } 




function showFull(e:MouseEvent):void 
{ 
       trace("F U L L "); 
       stage.scaleMode = StageScaleMode.NO_SCALE; 
       var sw:Number = stage.fullScreenWidth; 
       var sh:Number = stage.fullScreenHeight; 
       //EventListener wenn sich Bildgröße verändert um Bildgröße zu aktualisieren; 
       stage.addEventListener(Event.RESIZE, updateStage);    
       if(firstSlideLoaded) 
       {  
            mcSlideHolder.addChild(currentImage); 
        stage.addChild(mcSlideHolder); 
        stage.addChild(fullScreenButton); 
        stage.addChild(slideButton); 
        stage.addChild(closeButton); 
        stage.addChild(saveButton); 
        stage.addChild(nextButton); 
        stage.addChild(prevButton); 
        firstSlideLoaded = false; 
        trace("child added"); 
       } 

}

这个bug已经快把我逼疯了几天,我“M几乎没有想法:)如果有人可以帮助我

回答

1

你不能添加事件监听器到你的全屏按钮只有你已经加载图像?

+0

thx很多你的答复!我已经做到了,它工作得很好,但它不是一个真正令人满意的解决方案,因为用户体验遭受它... – haemse 2011-05-08 13:04:02

+0

然后,我建议你测试图像是否加载通过将其存储在哈希表中,一旦它被加载。如果没有加载,则放置一个进度条,直到收到指示加载的事件。 – Robusto 2011-05-08 13:15:08

+0

正如你所看到的,我目前的图像添加到mcSlideHolder正当onFirstSlideLoaded事件发生......所以,如果你点击全屏按钮之前,它已经完成加载时,它的加载它之后将其添加图像...所以图像必须加载然后...但为什么屏幕保持黑色? – haemse 2011-05-08 13:46:50