Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash Lite:htmlText格式_Flash_Actionscript_Actionscript 2_Htmltext - Fatal编程技术网

Flash Lite:htmlText格式

Flash Lite:htmlText格式,flash,actionscript,actionscript-2,htmltext,Flash,Actionscript,Actionscript 2,Htmltext,简而言之 我有一个flash应用程序(为FlashLite-ActionScript2制作)。 当我在应用程序中加载一个XML文件并在对象中处理它时。我在文本字段中获得了正确的html输入。 但是,如果我对对象进行硬编码,则所有html标记都会从.htmlText属性中消失,并且文本前面会有代码。我打算对对象进行硬编码,因为加载速度比xml快得多 长话短说:string.html=true删除所有span标记,而我需要这些。如何在文本字段的htmlText中获取span标记 更多信息如下 在我的

简而言之
我有一个flash应用程序(为FlashLite-ActionScript2制作)。 当我在应用程序中加载一个XML文件并在对象中处理它时。我在文本字段中获得了正确的html输入。
但是,如果我对对象进行硬编码,则所有html标记都会从.htmlText属性中消失,并且文本前面会有代码。我打算对对象进行硬编码,因为加载速度比xml快得多

长话短说:
string.html=true删除所有span标记,而我需要这些。如何在文本字段的htmlText中获取span标记

更多信息如下

在我的应用程序中,我创建文本字段,在其中放入一些文本,然后设置正确的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);
//上面我使用.CREATETEXTFIELD函数创建了TEXTFIELD
this[“text”+this.\u textFieldCounter].html=true;
this[“text”+this.\u textFieldCounter].multiline=true;
this[“text”+this.\u textFieldCounter].wordWrap=true;
this[“text”+this.\u textFieldCounter].autoSize=true;
this[“text”+this.\u textFieldCounter]。样式表=this.\u样式表;
this[“text”+this.\u textFieldCounter].condenceWhite=true;
this[“text”+this.\u textFieldCounter].htmlText=“”+strHtmlText+”;
//跟踪(this[“text”+this.\u 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>

//这是strHtmlText

Flash会自动将这些p和字体标记放在我的文本前面。所以我的样式表不会显示正确的样式。如何去掉初始的align和font标记,但仍将textfield保留为html

编辑
通过设置文本格式,我找到了解决此问题的方法。。。然而
我有一个新问题:
在我的strHtmlText中有span标记(
blablabla
),但这会被过滤掉。为什么?没有这些样式,我的样式表什么都做不了


(文本从数组中加载)

它必须与将属性分配给文本字段的顺序有关。应该是:1。将
field.html
设置为
true
,2。分配
样式表
,3。设置
htmlText
。 必须在分配htmlText之前设置样式表-我最初发布了一个到as3文档的链接,但这对于AS2和as3都是正确的

试试这个:在新AS2佛罗里达州的舞台上放置一个文本字段。将其类型设置为动态。将其命名为“
\u textField
”。将字体设置为Verdana,16px,黑色。在文本字段中输入“Error.”或类似内容,使其包含一些文本。单击“嵌入字体”,确保包含足够数量的字母,如ascii或拉丁字母-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);
var-style:TextField.StyleSheet=newtextfield.StyleSheet();
parseCSS(“p{font-family:Verdana;字体大小:12px;颜色:#FF0000;}”);
_textField.html=true;
_textField.styleSheet=样式
_textField.htmlText=“这是一个测试。

”; 跟踪(“新文本:”+_textField.htmlText);
现在,当您运行程序时,它应该将文本更改为“这是一个测试”,颜色更改为红色,字体大小更改为12px。它在我的电脑上运行。此外,跟踪打印与分配给
htmlText
的文本完全相同的文本


现在返回并交换分配
样式表
htmlText
属性的行。重新运行程序。它将包含您抱怨的所有额外标记。

我正在使用AS2(如标记中定义的)。。。但是,如果我在htmlText之前设置样式表属性,它仍然是同一个问题。我编辑了原始文章,并提供了一个示例。我仍然认为样式表和htmlText的分配顺序有问题。或者样式表没有正确初始化。不过,这不是Flash中的错误。我同意您的论点和示例是有效的。但是,当我在应用程序中尝试时,如果html参数设置为true,span标记仍然会从字符串中删除。我甚至会说,所有正常的html,如粗体和斜体标记也会被删除。只剩下flash字体标签,双br标签变成了一个封闭的段落标签。好吧,我已经用了很长一段时间了-绝对没有理由它们不起作用。除非你的程序中有其他不太正确的地方。我建议查看字体和样式表初始化:如果Flash找不到合适的字体和/或样式信息,几乎总是什么也不显示。嗨,又是我:你所描述的就是当样式表不可用时,或者如果htmlText中的样式不在其中时发生的事情,或者如果这些样式中使用的字体未嵌入。您能在调用textField.htmlText时检查样式表是否已正确加载和初始化吗?也许只是像我一样硬编码样式表,以确保样式可用。另外,检查样式表中的字体名称是否与flash中的字体屏幕名称相同。使用Font.enumerateFonts()进行检查。