Flash的文字栏位(TextField)除了用来显示与输入一般文字之外
也有支持简单的HTML标签
像是<font>, <b>, <i>, <u>, <a>, <p>, <br>, <li>, <span>, <img>
其中比较特别的是<img>,除了可以用来表现外部图片以外
还可以通过src指定Linkage Identifier的方式
呈现Library内的MovieClip
以下便是用AS3在TextField内,再创建另一个TextField
可是TextField.htmlText却有一个问题
假如<img>标签前后没有其它文字,img会建立失败
如以下AS3程序:
假如<img>标签前后没有其它文字,img会建立失败
这样说不对的,如果希望没有其它文字,则需要设置该textfield的wordwarp和multiline为true,就可以了
也有支持简单的HTML标签
像是<font>, <b>, <i>, <u>, <a>, <p>, <br>, <li>, <span>, <img>
其中比较特别的是<img>,除了可以用来表现外部图片以外
还可以通过src指定Linkage Identifier的方式
呈现Library内的MovieClip
以下便是用AS3在TextField内,再创建另一个TextField
package {
import flash.display.MovieClip;
import flash.text.TextField;
[SWF(width="300", height="200", backgroundColor="#FFFFFF")]
public class main extends MovieClip {
public function main() {
var outerTxt:TextField = new TextField();
outerTxt.border = true;
outerTxt.x = 100;
outerTxt.y = 50;
this.addChild(outerTxt);
outerTxt.htmlText = "Outer TextField<img id='txt' src='flash.text.TextField' width='80' height='50' />";
var innerTxt:TextField = outerTxt.getImageReference('txt') as TextField;
innerTxt.border = true;
innerTxt.text = "Inner TextField";
}
}
}
可是TextField.htmlText却有一个问题
假如<img>标签前后没有其它文字,img会建立失败
如以下AS3程序:
package {
import flash.display.MovieClip;
import flash.text.TextField;
import flash.text.TextFormat;
[SWF(width="300", height="200", backgroundColor="#FFFFFF")]
public class main extends MovieClip {
public function main() {
var txt:TextField = new TextField();
txt.border = true;
txt.x = 100;
txt.y = 50;
this.addChild(txt);
txt.htmlText = "<img id='img' src='flash.display.Sprite' />";
trace(txt.getImageReference('img')); // null
txt.htmlText = " " "<img id='img' src='flash.display.Sprite' />";
trace(txt.getImageReference('img')); // [object Sprite]
}
}
}
假如<img>标签前后没有其它文字,img会建立失败
这样说不对的,如果希望没有其它文字,则需要设置该textfield的wordwarp和multiline为true,就可以了