筋力でコードは書けません

エンジニア筋トレブログ

AS3 技術メモ

arguments.callee便利

いちいち変数宣言してた自分がハズカシイ・・・

private function func(e:*){
	var info:LoaderInfo = loader.contentLoaderInfo;
	info.addEventListener(Event.COMPLETE,completefunc);
}

private function completefunc(e:*){
	e.target.removeEventListener(Event.COMPLETE,arguments.callee);
}


ナンデモURLRequest

画像はLoaderで・・とか切り替えが面倒なので、なんでもURLRequestでやってまえ!

/* URLリクエストの部分は割愛 */
model.addEventListener("onComplete",onComplete);

function onComplete(e:*){
	var loader = new Loader();
	var info:LoaderInfo = loader.contentLoaderInfo;
	info.addEventListener(Event.COMPLETE,onLoadBytesComplete);
	loader.loadBytes(e.data);
}

結局Loaderのお世話にはなるんだけど・・・。
読み込み部分は共通化できるね。


印刷のSpriteについて
印刷でPrintJobオブジェクトにSpriteをaddPageする場合、
SpriteオブジェクトにさらにSpriteオブジェクトを入れ子にし、
さらにMC入れ子しているとをaddChildしていると座標を設定していてもリセットされてしまう。

それを回避するには印刷領域に透明な矩形をdrawすればOK

var printJob = new PrintJob();

printCanvas = new Sprite();
printCanvas.graphics.beginFill(0xFFFFFF,0);
printCanvas.graphics.drawRect(0,0,printJob.pageWidth,printJob.pageHeight);
printCanvas.graphics.endFill();