とりあえず、もう少しまともな感じに書き換えて、実際に実機で確認してもらうとこまでやりました。
まずは、メインにべたで書いていた表示オブジェクトをクラス化してみました。

BallMan.as
----
class info.uebuyahonpo.BallMan {
    private var parent:MovieClip;

    function BallMan(mc:MovieClip) {
        // 親を設定する
        this.parent = mc;
    }

    public function create_ball(mc_name:String,x:Number,y:Number):MovieClip {
        var ret = parent.createEmptyMovieClip(mc_name,1);
        ret._x = x;
        ret._y = y;

        ret.lineStyle(2);
        ret.moveTo( x, y);
        ret.beginFill(0xFF0000);
        ret.lineTo( x,    y+10);
        ret.lineTo( x+10, y+10);
        ret.lineTo( x+10, y   );
        ret.lineTo( x,    y   );
        ret.endFill();

        return ret;
    }
}

を作成。ちなみに、uebuyahonpo.infoは個人事業主で今後テストで使えるようにムームードメインで取得したドメインです。

  • main.asを修正
main.as
----
//初期化
var factory  = new info.uebuyahonpo.BallMan(this);
var ball     = factory.create_ball("test_mc",10,10);
var key_disp = [
    function () {}, // 0が押されたら
    function () {}, // 1が押されたら
    function () { ball._y -= 5; }, // 2が押されたら
    function () {}, // 3が押されたら
    function () { ball._x -= 5; }, // 4が押されたら
    function () {}, // 5が押されたら
    function () { ball._x += 5; }, // 6が押されたら
    function () {}, // 7が押されたら
    function () { ball._y += 5; }, // 8が押されたら
    function () {}  // 9が押されたら
];

//メインループ
this.onEnterFrame = function () {
    var k = Key.getCode();
    //最後に押されたキーが数字キーでまだ押されているか
    if ( k >= 48 && k <= 57 && Key.isDown(k) ) {
        key_disp[k-48]();
    }
}

こんな感じ。

  • ファイル→パブリッシュで生成したtest.swfを直リンクで指定して実機で動作確認


というわけで、パッケージを使ってクラスを作ってみて、メインループまわしてキーを取得してスプライトを動かしてみる実験をしてみました。実機は持っていないので知り合いにf905iで動くことを確認してもらいました。