TLF縦書き時のbug
TLFを
1.縦書き
2.複数のコンテナを配置
3.コンテナのサイズが異なる、
4.インデックスが小さいコンテナを左に移動する
と操作した場合コンテナの親のwidthが正しく得られない。
追記
EnterFrameされると正しい値が帰る
/**
* Copyright kappaLab ( http://wonderfl.net/user/kappaLab )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/dTNi
*/
/*
TLFを
1.縦書き
2.複数のコンテナを配置
3.コンテナのサイズが異なる、
4.インデックスが小さいコンテナを左に移動する
と操作した場合コンテナの親のwidthが正しく得られない。
追記
EnterFrameされると正しい値が帰る
*/
package {
public class FlashTest extends Sprite { public function FlashTest() {
//親
var ctn:Sprite = addChild(new Sprite()) as Sprite;
//コンテナ0
var sp:Sprite = ctn.addChild(new Sprite()) as Sprite;
//コンテナ1
var sp1:Sprite = ctn.addChild(new Sprite()) as Sprite;
sp.x = 100
var ctr:ContainerController = new ContainerController(sp,50,50);
var ctr1:ContainerController = new ContainerController(sp1,40,40);
var tfw:TextFlow = TextConverter.importToFlow("abcdefgf123456789asdfas;lkasjdfsdf wef"
,TextConverter.PLAIN_TEXT_FORMAT);
tfw.blockProgression = "rl";
tfw.flowComposer.addController(ctr);
tfw.flowComposer.addController(ctr1);
tfw.flowComposer.updateAllControllers();
trace(ctn.width,ctn.height)
//親の背景を描くが10pxのズレが生じる。
ctn.graphics.beginFill(0x00FFFF,.5);
ctn.graphics.drawRect(0,0,ctn.width,ctn.height);
ctn.x = ctn.y = 100
addEventListener(MouseEvent.ROLL_OVER,function():void{trace(ctn.width)});
addEventListener(Event.ENTER_FRAME,function():void{trace(ctn.width)});
} }
import flash.display.Sprite;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.container.ContainerController;
import flash.events.MouseEvent;
import flash.events.Event;
}