因此找了個方法,在 IE Browser 中使用stage的resize事件處理器,似乎就可以解決掉這個問題。以下demo不管在哪個Browser中,應該都是會置中的。
DEMO
resize程式碼如下:
this.addEventListener(Event.ADDED_TO_STAGE, onAdded);
this.addChild(cp);
private function onAdded(e:Event):void{
if(stage.stageWidth > 0 && stage.stageHeight > 0){
createChild();
}else{
stage.addEventListener(Event.RESIZE,onResize);
}
}
private function onResize(e:Event):void{
if(stage.stageWidth > 0 && stage.stageHeight > 0){
stage.removeEventListener(Event.RESIZE, onResize);
createChild();
}
}
private function createChild():void{
cp.stop();
cp.x = (stage.stageWidth>>1) - (cp.width>>1);
cp.y = (stage.stageHeight>>1) - (cp.height>>1);
}
另外也可參考這篇原文...
...
沒有留言:
張貼留言