「AS2 to AS3 converter」を使ってみたが・・・
AS2で書かれた既存のクラスを簡単にAS3にコンバートできるものはないものかとあれこれ探してみたら・・・見つかったのでさっそく実験してみました。
→ 5 1/2 blog » AS2 to AS3 converter:
結果として、そこそこ役には立つが基本的にプロパティ名やパッケージ名の変換以外は微妙な感じですね。イベント関係の仕様変更には対応していないようなので注意が必要です。それとプロパティ値等が100から1に変わったモノをいくつかあるので。
まあ、例えば、あるコンテンツ専用にAS2で書かれた膨大なコード量のライブラリをAS3に書き直したいとした場合には、ちょっとした手助けになってくるかもしれませんね。
と言うことで実験用に使用したHandbook-4の3-1「9スライス機能」サンプルのクラスファイルをまず「AS2 to AS3 converter」でコンバートし、イベント部分、数値部分、その他はマニュアルで修正し、ついでにAS2のTweenクラスを使用していたものをTweenerに置き換えてみました。(Flash側にもコードがあるのをお忘れなく)
package {
import flash.geom.Rectangle;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import caurina.transitions.Tweener;
//
public class smoothResize {
private var xzoom:Number;
private var yzoom:Number;
private var mc:MovieClip;
//
public function smoothResize(target_mc:MovieClip) {
mc = target_mc;
xzoom = 1.0;
yzoom = 1.0;
var rect:Rectangle = new Rectangle(-62, -37, 124, 74);
mc.scale9Grid = rect;
mc.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
//
private function onMouseDown(e:MouseEvent):void {
xzoom = (Math.round(20+Math.random()*200))/100;
yzoom = (Math.round(20+Math.random()*200))/100;
Tweener.addTween(mc, {scaleX:xzoom, time:1, transition:"easeOutElastic"});
Tweener.addTween(mc, {scaleY:yzoom, time:1, transition:"easeOutElastic"});
}
}
}


