おまけ

ボタンを押したら動く速さが変わるようにしたいと思いませんか?思いませんね。でも、私は思いました。AnimationSample.javaになります。

runメソッドでスリープさせるミリセコンド数を

Thread.sleep(delay);

と変数にしておいて、ボタンが押される度にこの値を変えます。またもやkeyPressed()の出番です。

public void keyPressed(int keyCode) {
    int action = getGameAction(keyCode);

    switch(action) {
    case UP:
        delay -= 100;
        if (delay < 0) delay = 0;
        System.out.println("delay = " + delay);
        break;
    case DOWN:
        delay += 100;
        if (delay > 1000) delay = 1000;
        System.out.println("delay = " + delay);
        break;
    default:
        break;
    }
}

もう説明はいいですね。上ボタンを押すと動く速度が速くなり、下ボタンを押すと遅くなります。はいでは実行

D:\midp-fcs\segi>javac -bootclasspath /midp-fcs/classes AnimationSample.java
D:\midp-fcs\segi>preverify -classpath .;/midp-fcs/classes AnimationSample AnimationCanvas
D:\midp-fcs\segi>cd output
D:\midp-fcs\segi\output>set SCREEN_DEPTH=8
D:\midp-fcs\segi\output>midp AnimationSample
Classpath is not set. Defaulting to "."
Loading /images/01.png
Loading /images/02.png
Loading /images/03.png
Loading /images/04.png
Loading /images/05.png
Loading /images/06.png
Loading /images/07.png
Loading /images/08.png
Loading /images/09.png
Loading /images/10.png
Loading /images/11.png
Loading /images/12.png

ボタンを押すたびにコンソールには

delay = 200
delay = 100
delay = 200
delay = 300

のようにdelayの値が表示されるようにしときました。


前の項目へ次の項目へ
「MIDPで遊ぼう!」のページへ
せぎてつ伝言板
このページの感想をどうぞ!
お名前(匿名OK):

メールアドレス:
最終更新日 : 2000年10月7日(土)
tetsu@segi.org