[AS]TextLayoutFrameworkの簡単なサンプル
TextLayoutFramework(TLF)のメモ
以下に簡単なサンプル
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.*;
// 使用するText Layout Framework クラスのロード
//flex SDK 4 に含まれているtextLayout.swcを使用する。
import flashx.textLayout.container.*;
import flashx.textLayout.compose.*;
import flashx.textLayout.conversion.*;
import flashx.textLayout.edit.*;
import flashx.undo.*;
import flashx.textLayout.elements.*;
import flashx.textLayout.container.ContainerController;
/**
* ...
* @author 393
*/
public class TextTest2 extends Sprite{
private var textFlow:TextFlow;
private var container1:Sprite;
private var container2:Sprite;
private var count:int;
public function TextTest2() {
var text:String="本日確定申告と同時に開業届けも提出してきました。";
text = [text, text, text, text, text, text, text, text].join("****************");
//テキストフィールドみたいなもの
textFlow=TextConverter.importToFlow(text,TextConverter.PLAIN_TEXT_FORMAT);
//テキスト選択とか可能になる
textFlow.interactionManager = new EditManager();
//テキストを格納するコンテナーの定義(複数個を連結可能)
container1 = new Sprite();
container2 = new Sprite();
addChild(container1);
addChild(container2);
container2.y=150;
//テキストフローにコンテナを追加
textFlow.flowComposer.addController(new ContainerController(container1, 200, 100));
textFlow.flowComposer.addController(new ContainerController(container2, 200, 100));
//テキストフローの更新(コンテナのサイズとか変更したら更新する)
textFlow.flowComposer.updateAllControllers();
//現在のコンテナの数を取得(出力:2)
trace("textFlow.flowComposer.numControllers : " + textFlow.flowComposer.numControllers);
//ステージをクリックするごとにテキストフローのコンテナサイズを変化
stage.addEventListener(MouseEvent.CLICK , clickHandler);
count = 300;
}
private function clickHandler (e:*):void {
//コンテナの数だけループ
for (var i:int = 0; i < textFlow.flowComposer.numControllers; i++) {
//コンテナのサイズを変更
textFlow.flowComposer.getControllerAt(i).setCompositionSize(count,100)
}
//テキストフローの更新
textFlow.flowComposer.updateAllControllers();
count += 100;
}
}
}
Tweet
2 Comments
はいー
お役に立てたようでよかったですー