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