2010-12-15 51 views
0

IN A NUTSHELL
我有一個Flash應用程序(用於flash lite - actionscript 2)。 當我在我的應用程序中加載一個XML文件和我在一個對象中處理它。我在文本字段中獲得正確的html輸入。
但是如果我硬編碼對象,則所有html標記都將從.htmlText屬性中消失,並且代碼位於文本的前面。這是我的意圖硬編碼的對象,因爲加載速度很快,然後xml。Flash Lite:htmlText格式

長話短說:string.html = true;刪除所有span標籤,而我需要那些。如何在我的文本字段的htmlText中獲取span標籤?

更多信息BELOW

在我的應用程序創建文本框把一些文字在其中,然後設置正確的x和y的值,使他們都很好地把海誓山盟之下。

裏面的功能:

//ABOVE I CREATE TEXTFIELD USING THE .CREATETEXTFIELD FUNCTION 
this["text" + this._textFieldCounter].html = true; 
this["text" + this._textFieldCounter].multiline = true; 
this["text" + this._textFieldCounter].wordWrap = true; 
this["text" + this._textFieldCounter].autoSize = true; 
this["text" + this._textFieldCounter].styleSheet = this._styleSheet; 
this["text" + this._textFieldCounter].condenseWhite = true; 
this["text" + this._textFieldCounter].htmlText = "<span class=\"page\">" + strHtmlText + "</span>"; 
//trace(this["text" + this._textFieldCounter].htmlText); 

當我跟蹤htmlText我得到

<P ALIGN="LEFT"> 
<FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"> 
//here comes the strHtmlText 
</FONT> 
</P> 

Flash會自動把這些P和字體標籤在我的文字的前面。所以我的樣式表不會顯示正確的樣式。我如何擺脫最初的對齊和字體標籤,但仍然保持文本字段爲html?

編輯
通過設置一個TextFormat我已經找到解決這個問題的方法......不過
我有一個新的問題:
在我strHtmlText有跨度標籤(<span class="text-in">blabla</span>),不過這樣會過濾掉。爲什麼 ?沒有這些樣式,我的樣式表不會做任何事情。

(文本從陣列中加載)

回答

1

它必須有事情做在您指定屬性的文本字段的順序。它應該是:1.將field.html設置爲true,2.分配styleSheet,3設置htmlText。 在htmlText被分配之前,styleSheet必須被設置 - 我最初發布了一個到as3文檔的鏈接,但是對於AS2和AS3都是如此。

試試這個:將TextField放在新的AS2 FLA的舞臺上。將其類型設置爲動態。將其命名爲「_textField」。將字體設置爲Verdana,16px,黑色。輸入「錯誤」。或類似的東西到TextField中,以便它有一些文本。點擊「嵌入字體」,確保包含足夠數量的字母,如ascii或Latin-1。 在時間軸上,將此代碼輸入到電影的第一幀。

var style:TextField.StyleSheet = new TextField.StyleSheet(); 
style.parseCSS("p {font-family:Verdana; font-size:12px; color:#FF0000;}"); 
_textField.html = true; 
_textField.styleSheet = style 
_textField.htmlText = "<p>This is a test.</p>"; 
trace (" new text:"+_textField.htmlText); 

現在,當你運行該程序,就應該將文本更改爲「這是一個測試」,顏色爲紅色,字體大小爲12像素。它在我的電腦上。此外,跟蹤還會輸出分配給htmlText的完全相同的文本。

現在回去交換分配styleSheethtmlText屬性的行。重新運行該程序。它會包含您所抱怨的所有額外標籤。

+0

我正在使用AS2(如標籤中所定義的)......但是,如果我在htmlText之前設置樣式表屬性,它仍然是同樣的問題。 – Jozzeh 2010-12-20 07:54:17

+0

我編輯了原文,並提供了一個例子。我仍然認爲你分配styleSheet和htmlText的順序有問題。或者,styleSheet可能沒有正確初始化。但是,這不是Flash中的錯誤。 – weltraumpirat 2010-12-20 09:23:45

+0

我同意你的論點和例子的工作。但是,當我在我的應用程序中嘗試它時,如果html參數設置爲true,span標籤仍然會從字符串中刪除。我甚至會說,所有正常的HTML,如粗體和斜體標籤也會被刪除。只剩下flash字體標籤,雙br標籤成爲封閉的段落標籤。 – Jozzeh 2010-12-22 13:44:23