ダイナミックテキストにHTML表示
ふぁぼったーのrssをchumbyに出した。
rssのCDATAにhtml形式で、文字色やimgタグ込みで埋め込まれているのでそれをそのままhtmlとしてレンダリングして表示に使う。
まずrssからdescriptionを取ってきたけど、<とかが>になってて、変換しなければならない。
AS2にはそういう関数が無いみたいだけど、適当なダイナミックテキストのhtmlTextプロパティに突っ込んでtextプロパティから読み出すと治っている事に気づいた。
ダミーのダイナミックテキストlabelHtmlTmpを非表示で作って使った。
labelDesc.html = true; labelHtmlTmp.html = true; labelHtmlTmp._visible = false; labelHtmlTmp.htmlText = desc; labelDesc.htmlText = adjustDesc(labelHtmlTmp.text);
pタグを全部消して、文字サイズだけちょっと小さいのでデカくするadjustDesc()を用意。
AS2にString.replace()が無いので、
http://gmx.selfip.com/2007/03/post_14.html
からstrReplace()を借りた。
function adjustDesc(desc:String){ desc = strReplace(desc, '<p>', ''); desc = strReplace(desc, '</p>', ''); desc = strReplace(desc, '<p align="right">', ''); tmp = desc.split('size="'); head = tmp[0]; tail = tmp[1]; tmp = tail.split('"'); tmp.shift(); tail = tmp.join('"'); res = head + 'size="18"' + tail; trace(res.length); return res; } function strReplace(Value,Before,After){ var tmp:Array; tmp = Value.split(Before); Value = tmp.join(After); return Value; }
こうなった
chumbyはfont size18ぐらいが俺には見やすい