2013-12-13 42 views
0

假設您正在使用flash專業版(或將swf或swf中的flash專業資源引入)的Flash Builder(4.7),並且您將整個屏幕都放在一個符號中。所以你想把所有東西都放到一個變量中。這樣的事情:爲什麼Flash Builder將每個實例變成一個字符串?

_pictureThing = _startScreen["pictureThing"] as Sprite. 

它會給你紅色下吧因爲你還沒有提到_pictureThing呢。所以你點擊ctrl + 1,選擇一個實例變量。當然。但是現在,當你走上課堂的頂峯時,這是一個字符串!什麼?我說作爲雪碧。我期望的唯一一件事就是一個Sprite。這怎麼可能不是Flash Builder的一個功能?就好像他們去找了幾乎完美的編輯,然後說:「呃,讓我們不完成它吧,讓我們來做這個瘋狂的相機跳躍吧。」製作每個變量類型的字符串可能看起來不是什麼大不了的事情,但是當你有很多變量的時候真的會加起來。也許我的方法正常,但實際上並不是Flash Builder希望我編寫它的語法?

+0

_pictureThing = Sprite(_startScreen [「pictureThing」]); – Fygo

回答

0

由於每個對象都有一個toString()實現,因此如果Flash Builder編輯器無法檢測到該變量的假定類型,那麼它將假定一個字符串作爲其類型的默認故障安全值。關於爲什麼FB的開發者沒有把它作爲一個假設的var類型設置器打開as聲明的問題,我的奇怪建議將是繼承,因爲SpriteDisplayObjectContainer類型的後裔,所以也許該var應該是該類型的,或者可能會少一級(EventDispatcher),或者可能是Object。也許Fygo張貼在評論修復可以使您:

_pictureThing = Sprite(_startScreen["pictureThing"]); - Fygo 22分鐘前

但繼承不確定性仍然存在。我說只是讓它成爲。

相關問題