カタツムリ2009年10月11日

JavaScript Game改造その2

みなさん、おはようございます。
今日は、さわやかな朝ですね~
空気もちょっと冷たく秋を感じます。

さて昨日に引き続き、ピンボールを改造してみました。

ピンボール改造 ver2

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にご協力をお願いします。↓↓↓

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

ランキングUP!

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

投稿者 shiozumi : 11:46 | トラックバック (0)

このエントリーのトラックバックURL

http://blog.e-smile.ne.jp/cgi-bin/mt/mt-tb.cgi/844