您的位置:首页 > 其它

使用Starling、Away3d框架时,报Error: Error #3669: 输入大小错误, 解决方案

2014-01-01 15:13 435 查看
原因有二

1.IE底下,SWFOBJECT嵌入swf的时候,有瞬间的stage的width跟height是0导致的。
2.stage.scaleMode = StageScaleMode.NO_SCALE;//这句话瞬间也会导致stage的width跟height为0.


解决办法

上来先:stage.scaleMode = StageScaleMode.NO_SCALE;

然后别急着new Starling,而是先判断stage.width和height是否为0,为0,就侦听resize事件。具体代码:

public function Test()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

if( stage.stageWidth > 0 && stage.stageHeight > 0 )
{
start();
}
else
{
stage.addEventListener( Event.RESIZE, onResize );
}
}

private function onResize( e:Event ):void
{
if( stage.stageWidth > 0 && stage.stageHeight > 0 )
{
stage.removeEventListener( Event.RESIZE, onResize );
start();
}
}

public function start():void
{
starlingEngin = new Starling( Game, stage );
starlingEngin.antiAliasing = 1;
starlingEngin.showStats = true;
starlingEngin.start();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐