掲題のとおりです。どうにかしたい。
正規表現組んでも良いけど、そんなことしなくてもちょう簡単に消し去る方法があります。
いや、知ってる人は知ってると思うけど。
正解は以下。tempTextが、htmlタグを含むStringだと思ってくれ。
var tf:TextField=new TextField();
tf.htmlText=tempText;
var newText:String=tf.text;
以上。
掲題のとおりです。どうにかしたい。
正規表現組んでも良いけど、そんなことしなくてもちょう簡単に消し去る方法があります。
いや、知ってる人は知ってると思うけど。
正解は以下。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='ほげほげ';
〜以下略〜
普通にこうしてあげれば、あとはコマンドで色々やっても大丈夫でした。