昨日、タイリングについてbitmapを使いflvを読み込み後、TilingVideo.asを使い
説明したんですけど、
タイリング中にユーザーが画像サイズを変えたときのこと考えてなかった。
僕は究極の平和ぼけ野郎だった事に気づいた。
ということで昨日のタイリングを少々修正。
というか、ここを訂正。
////////////////////////////////////////////////////////////////////////stageResize
function stageResize(e:Event):void {
trace("stageResize");
/*bitmap消去*/
timer.removeEventListener(TimerEvent.TIMER, addVideo);
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, addEnd);
endTimer.removeEventListener(TimerEvent.TIMER, removeVideo);
endTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, removeEnd);
/*エンターフレームを消す*/
for (var i:int= 0; i <= totalNumMax; i++) {
var instance:String = "clone" + i;
var target = container.getChildByName(instance);
if (target != null){
target.removeEventListener(Event.ENTER_FRAME, bdEnterFrame);
container.removeChildAt(0);
trace("remove=",i);
}
}
/*stageにbitmap追加*/
firstSetting();
for(var s:int = 0; s < tateNumMax; s++){
for(var k:int = 0; k < yokoNumMax; k++){
/*bpdata*/
var clone:Bitmap = new Bitmap(null);
clone.addEventListener(Event.ENTER_FRAME, bdEnterFrame); //bitmapをエンターフレームする
clone.name = "clone" + totalNum;
container.addChild(clone); //cloneをステージに加える
clone.x = k * video.width;
clone.y = s * video.height;
totalNum ++;
trace("totalNum =",totalNum);
}
}
trace("containerNumChild =",container.numChildren);
/*タイルのremove作業*/
endTimer = new Timer(timerNum, totalNumMax);
endTimer.addEventListener(TimerEvent.TIMER_COMPLETE, removeEnd);
endTimer.addEventListener(TimerEvent.TIMER, removeVideo);
endTimer.start();
}
これでタイリングの最中に画面サイズを変更されても再度タイリングしなおすので見苦しい事には
ならないはずです。多分。
FLASH AS3.0はしっかりかけてエラー表示もしっかりでてくれるので
間違えてるところがわかりやすいです。

