我正在拉我的头发。我有这个非常奇怪的错误:错误在浏览器中显而易见,但不在Flash CS5中
我有一个自定义的“StagedSprite”类,它扩展了Sprite。其目的是在舞台重新调整大小时自动对齐舞台的边框。
现在,我加载PNG文件 “ybmp”(位图)并将其添加为孩子 “loadingIcon”(StagedSprite)。在Flash CS5中,PNG在屏幕上正确显示(也对齐)。但是,如果我从Firefox或IE中发布并运行SWF,则不会显示PNG!
什么是连更多奇怪的就是下面的代码生成:
//var ybmp:Bitmap = the loaded bitmap
//loadingIcon is a StagedSprite
loadingIcon.addChild(ybmp);
trace(ybmp.bitmapData.width,ybmp.bitmapData.height);
trace(ybmp.width,ybmp.height);
trace(loadingIcon.width,loadingIcon.height,loadingIcon.getChildAt(0),loadingIcon.stage);
我把“跟踪”的结果在文本字段在屏幕上。在CS5,上面的代码产生:
215 200
215 200
215 200 [object Bitmap] [object Stage]
在Firefox和IE浏览器,上面的代码产生:
215 200
215 200
0 0 [object Bitmap] [object Stage]
究竟是什么那是什么?!?在浏览器中,位图IS在“loadingIcon”中添加,但“loadingIcon”仍将其宽度和高度设置为零。 ?!?!?
我可以在这里粘贴StagedSprite代码太,但它是一个有点大,没有scrollRect属性。毕竟,它可能是它在Flash创作工具中运行的原因,而不是在浏览器中。
许多许多在此先感谢,
比尔
编辑: 哦,我很好。对于一些仍然令人难以置信的原因,loadingIcon将scaleX和scaleY设置为0.但在浏览器版本中只有只有。在我的代码中,我没有任何设置它的scaleX或scaleY为假设它应该默认设置为1。
没有人有任何建议,为什么在我的浏览器“loadingIcon”将具有零标度而不是在CS5?这正是在这两种情况下相同的代码,我有交叉检查这1000倍......