2012-08-07 43 views
1

已更新 - 如果有人試圖使用NativeText和StageText包裝器返回文本值。他們需要編輯;as3對象值NativeText

https://github.com/cantrell/StageTextExample/blob/master/src/NativeText.as

增加公共get函數 -

public function get text():String { 
return this.st.text; 
} 

,那麼你可以返回NativeText值正常 -

nt.text

+0

沒有直接的解決方案,但如果你閱讀本頁的解決方案部分http://blogs.adobe.com/cantrell/archives/2011 /09/native-text-input-with-stagetext.html它似乎表明您可以使用TextInput作爲底層StageText的「訪問者」。 – shaunhusain 2012-08-07 15:56:32

+0

請注意,此包裝器將StageText置於從舞臺事件中移除,然後添加到舞臺事件時訪問StageText實例。這將導致:錯誤:錯誤#3694:該對象由之前的dispose()調用處置。 – 2012-08-08 07:53:37

+0

是的,這是正確的,只是遇到這一點,我所做的是編輯NativeText.as所以onRemoveFromStage st.visible = false;作爲一個快速修復,你也可以添加一個try/catch /最後(爲了擺脫處置錯誤)。 – sputn1k 2012-08-09 00:30:21

回答

0

我跟着@ shaunhusain的評論鏈接,並做了一些閱讀:

NativeText是他寫的包裝,你可以看看這個類在GitHub上:

https://github.com/cantrell/StageTextExample/blob/master/src/NativeText.as

如果你讀了這個類,你會發現它有設置文本setter方法,但它確實沒有定義一個吸氣劑。這解釋了您的錯誤消息:

Access of possibly undefined property text through a reference with static type NativeText

邏輯解決方案是添加getter方法。如果您閱讀@shaunhusain鏈接到的博客文章中的評論,您會看到其他人有這個相同的問題。這似乎已經爲他們工作(我還沒有嘗試過):

public function get text():String 
{ 
    return this.st.text; 
} 
0

添加一個getter你上述對我來說:)

的工作方式。然而,我不覺得我有謹慎,因爲也許有一個原因Cantrell沒有把吸氣劑的方法。

+0

很好聽,是的,我把這個編輯添加到github repo - https://github.com/cantrell/StageTextExample/pull/9,如果你想返回文本,這是你要做的唯一方法。 – sputn1k 2014-01-30 15:50:49