2010-08-11 57 views
1

有沒有在AS3的雪碧或影片剪輯從InteractiveObject編程方式添加文本,而不使用類TextField有沒有辦法將文本添加到不使用TextField類的sprite或movieclip?

文本字段繼承的方式這是我想要做的那種沉重:只顯示文本(即我不不想與文本交互)。

注:我知道有一個屬性selectable使文本字段無法選擇。這不是重點。

謝謝

+0

引用Donald Knuth這裏很誘人。但我不會這樣做 - 也許你是爲了教育目的而這樣做的,你只是在試驗或者你確實有一個實際的性能問題。然而,我想我會提到,在大多數情況下(除非你動畫大量的文字,或者需要更好的指標等),textfields就好了。 – 2010-08-11 23:40:07

+0

是的,我正在尋找TextField的替代方案,因爲性能問題(很多文本字段)。 我同意,TextField適用於我遇到的情況的90%,但有10%的地方使用較輕的東西會顯着提高性能。 – matb 2010-08-12 00:23:34

+0

艾倫的第二個鏈接將值得檢查。這是我知道繪製文本的最高性能方式。 – 2010-08-12 00:45:09

回答

5

想到兩種方法。首先是這其中一個字符串寫入位圖數據:How to draw a string on BitmapData

其次,你可以試試這個快速的字體渲染庫(雖然我還沒有嘗試過自己)lab.polygonal.de/2009/12/15/font-rendering-with-the-fp10-drawing-api/

這兩種方案似乎繞過需要用於創建文本字段(除了第一個用於創建但後來被丟棄的地方)。

+0

+1爲第二個鏈接。只是一個筆記。如果任何人想要使用第一個選項並計劃重複調用此方法,那麼將'TextField' intance設置爲參數是一個好主意。這樣,您可以減少創建的實例數量,並從調用代碼中控制字體類型,顏色和其他屬性。我不確定這種方法是否會帶來顯着的性能增益,但(只是寫它來顯示如何將文本繪製到位圖)。由於OP似乎在尋找業績,我認爲第二種選擇雖然更多涉及,但應該更合適。 – 2010-08-11 23:24:52

+0

我同意使用位圖是最好的解決方案,但我還會注意到通常不需要真正繪製到自己的位圖中。只需創建您的文本字段並設置'cacheAsBitmap'標誌,即可獲得幾乎所有的位圖優勢,而不會帶來任何不便。 – fenomas 2010-08-12 06:21:37

相關問題