AS3の開発メモ

AS3の開発をやってみたんですけど


購入した書籍がas3対応とかって書いてるにも関わらずそのまま書いたんじゃ動作しない・・・


って事でどの部分を変更したか確認しつつ


型宣言とかがどうこうとかじゃなく明らかにas2までと違う部分を赤字で記述しています


まず目に付く部分はリンケージでクラスを設定した画像のクラス名をnewしているところでしょうか


以前のバージョンだとloadBitmap("識別子")とかってやっていたのにこれやるとコンパイル時にloabBitmapなんてねーよ!


って怒られます


次はムービークリップの作成のとこ


以前はcreateMovieClipしてattachBitmapってしていたのが


movieClipをnewしてaddChildするようになったみたいです


で最後に目立つとこは


onEnterFrameじゃなくて関数を作成してaddEventListenerでイベント登録するようになったとこでしょうか?


結構書き直しな感じですね


import flash.geom.Matrix;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.events.Event;

var photoBitmap:BitmapData = new Image003(0, 0);
var bmp:Bitmap = new Bitmap(photoBitmap);

var myBitmap:BitmapData = new BitmapData(400, 300, false, 0x00FFFFFF);
var workBitmap:BitmapData= new BitmapData(400, 300, false, 0x00FFFFFF);

var view_mc:MovieClip = new MovieClip();
addChild(view_mc);
view_mc.addChild(bmp);

// --
view_mc.x = 10;
view_mc.y = 10;

var resolution:Number = 1;
var plus:Number = 1;
var maxres:Number = 20;

addEventListener(Event.ENTER_FRAME, enterFrame);

function enterFrame(event:Event) : void {

resolution += plus;

var matrix1:Matrix = new Matrix();
matrix1.scale(1 / resolution, 1 / resolution);
workBitmap.draw(photoBitmap,matrix1,null,null,null,true);

var matrix2:Matrix = new Matrix();
matrix2.scale(resolution, resolution);
myBitmap.draw(workBitmap,matrix2,null,null,null,true);

var myBmp:Bitmap = new Bitmap(myBitmap);
view_mc.addChild(myBmp);


if (maxres <= resolution) {
plus = -1;
}
if (resolution <= 1) {
plus = 1;
}
};