2009年10月11日
JavaScript Game改造その2
みなさん、おはようございます。
今日は、さわやかな朝ですね~
空気もちょっと冷たく秋を感じます。
さて昨日に引き続き、ピンボールを改造してみました。
1.ボールの動きを滑らかにする。
2.ラケットを大きくしてみる。
3.ポーズ機能を追加する。
まず1番、setTimeoutを短めに変更、
ただこれだと猛スピードでボールが動くので、
移動スピードを4分の1に変更。
ballX = ballX + ballDX;
ballY = ballY + ballDY;
↓↓↓
ballX = ballX + ballDX/4;
ballY = ballY + ballDY/4;
これで、OKです。
次に2番、ラケットのサイズを定義
var racket_Size = 80;
ラケットのスタイルに代入して、
racket.style.width = racket_Size;
横幅を広げて、とりあえず見た目はOK!
ただ、ここからがちょっと大変です。
もともと、ラケットサイズの変更を想定していないので、
変数で定義していません。
ありとあらゆるとこに、直の値が入っています。
if (tmpX >= tmpRL - 12) { // ラケットの左座標
if (tmpX <= tmpRL + 42 ) { // ラケットの右座標
まあ~こんな風に書かれていました。
tmpX はボール座標+移動分らしい。
tmpRL は、ラケットの左座標です。
とりあえず、右座標を広げて、
+42 から、racket_Size に変更
if (tmpX <= tmpRL + racket_Size )
まあ~かなりアバウトですが。(^^;;
変わることを確認ということで・・・
その下も、ラケットのあたる角度によって、
ボールの方向性やスピードを変化させているのですが、
こちらも数字の直値なので、とりあえず無視しちゃいます。
分かりづらいのと、変更できないので、
どちらにしても書き直しが必要な部分ですね。
普通は、ゲームの途中で変更することも踏まえて、
数字の直値は避け、なるべく変数で処理する方がベストです。
最後の3番、スペースキーを押すとボーズ状態になります。
追加関数 GamePause() の if(event.keyCode==32)
32番がスペースキーです。
もし他のキーボードアサインが知りたい場合は、
こちらのサイトで調べて下さいね。
さて、今日も長くなってしまいましたが、
こんな感じで、いじっているだけでも、
確実に、実力が付きますよ~
それでは今日も、「いいスマイル」で行きましょう!
ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓
投稿者 shiozumi : 11:46 | トラックバック (0)