カタツムリ2011年02月25日

「ブロック崩しを、Android に移植」

みなさん、おはようございます。
今日は冬の終わりを感じる様な朝ですね~

Javaアプレットの次は、
いよいよ、Android ですね~

WS000000.JPG

Graphicsクラスを、Canvasクラスに置き換えたり、
Colorクラスを、int Color.rgb( r, g, b );
わりと少ない修正で、アンドロイドに置き換えられますよ~

あとは、キーボードの読み込みや、
コールバックの書き方だけですね~

よければ、こちらにサンプルを紹介します。

/*
画面再描画の仕組みを提供するクラス
*/

class RedrawHandler extends Handler
{
private View view;
private int delayTime;
private int frameRate;

public RedrawHandler(View view, int frameRate) {
this.view = view;
this.frameRate = frameRate;
}

public void start() {
this.delayTime = 1000 / frameRate;
this.sendMessageDelayed(obtainMessage(0), delayTime);
}

public void stop() {
delayTime = 0;
}

@Override
public void handleMessage(Message msg) {
view.invalidate();
if (delayTime == 0) return; // stop
sendMessageDelayed(obtainMessage(0), delayTime);
}
}

frameRateに30と入れれば、
1秒間に30フレームの割り込みが入ります。

RedrawHandler handler = new RedrawHandler(this, 30);
handler.start();

呼び出し側は、View クラスで、ここでは、(this, 30)
とすれば、OKです。

Eclipse と、android SDKとエミュレーターの環境構築は、
こちらの書籍を今回使用しました。

RIMG0233.JPG

私の場合、ドキュメントのフォルダー名に、
名前の漢字が使われていたために、
エミュレーターが起動しないで、
やや手こずってしまいました。

仕方なしに、アカウントを再度作成して、
新しいものでログインしています(^^;;

動いたところまでは良いのですが・・・
あらら・・・動作が遅くてゲームになりません。
エミュレーターですから仕方ないですね~

次は、実機で試したいところです。(^^)/
今日も「いいスマイル」で行きましょう!


ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓

にほんブログ村 経営ブログへランキングUP!

ランキングUP!

banner2.gif 人気blogランキング!

投稿者 shiozumi : 10:39