掲題のとおりです。どうにかしたい。

正規表現組んでも良いけど、そんなことしなくてもちょう簡単に消し去る方法があります。

いや、知ってる人は知ってると思うけど。

正解は以下。tempTextが、htmlタグを含むStringだと思ってくれ。

var tf:TextField=new TextField();  
tf.htmlText=tempText;  
var newText:String=tf.text;  

以上。

Progressionで、CastSpriteクラスを使って、テキストを渡して表示するだけのクラスを作ろうとしたんですよ。そしたらうまくいかない。

テキスト流し込んだTextFIeldをaddChildしてるのに表示されないんです。んでプロパティをチェックしたら、インスタンスのwidth,heightが共に0。addChildした(はずの)TextFieldのwidth,heightはちゃんとしてた。ってことは、addChildの辺りで何か問題が起きてるのか?それともフォントの埋め込みが問題なのかな?

よくわからないけど、CastSpriteをやめてただのSpriteにしたら全く問題なかったです。

§

で、そのフォント埋め込みなんですが、flaファイル上で作ったTextFieldにembedFonts=trueでhtmlTextを設定した場合、でテキストを囲まないとフォントが埋め込まれないけど、TextFieldを最初からas3でnewしてあげるとfontタグが不要に。

んーふっ

§

で、前にも同じことがあったけど改めてメモなんだけど。

ProgressionでAddChildAtコマンドを使うときは、AddChildと混在させずにAddChildAtで統一しないと、配置するものの重なり順が思い通りになってくれません。

以上、そんなメモ書き。

TextField。

って、AS内でnewした時は、プロパティをwidth→wordWrap→autoSizeの順で設定してあげないと、狙い通りの挙動をしてくれない、ってのはなんとなく知ってたんですよ。

ProgressionのSerialList内でPropコマンドを使って順に設定しても、思ったように動いてくれなくてプチハマりました。

コマンドリスト内ではなく普通に1個ずつプロパティ設定してやったら大丈夫でした。

改行なしの右側可変TextFieldを作りたい場合。

var _tf:TextField=new TextField();  
var sList:SerialList=new SerialList();  
sList.addCommand(null  
,new Prop(_tf,{width:10})  
,new Prop(_tf,{wordWrap:false})  
,new Prop(_tf,{autoSize:TextFieldAutoSize.LEFT})  
,new Prop(_tf,{text:'ほげほげ'})  

〜中略〜
[as3 firstline=”10”]
);
sList.execute();

  
↑これだとTextFieldのサイズはデフォルトの100x100のままだった。  
  
[as3 language="gutter:false"]  
var _tf:TextField=new TextField();  
_tf.width=10;  
_tf.wordWrap=false;  
_tf.autoSize=TextFieldAutoSize.LEFT;  
_tf.text='ほげほげ';  

〜以下略〜

普通にこうしてあげれば、あとはコマンドで色々やっても大丈夫でした。

keyboard_arrow_up