我正在拉我的頭髮。我有這個非常奇怪的錯誤:錯誤在瀏覽器中顯而易見,但不在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倍......