今日のエッセイ
今日も気まぐれにゲーム作りました。
JavaScriptです。
タイトル:「B-Force」
ミニ弾幕シューティングゲームです。
スペースキーを押すとゲームスタート。
キーボードのカーソル左右上下で戦闘機の移動、スペースキーで水色の戦闘機がショットを撃ちます。
ピンク色の敵キャラは回転しながら拡散弾を撃ってきます。
上にある黄色いバーが敵のHPで、ショットが敵に当たると減っていき、それをゼロにするとクリアです。
敵の弾に1回当たるとゲームオーバーです。
プログラムがゲームエンジン部分も含めて、凄く長くなったので割愛します。
敵キャラクターの動きは次の式でできます。
this.angle = new Date().getTime() / 350;
this.centerX = 135;
this.centerY = 140;
this.radius = 60;
this.x = this.centerX + Math.sin(this.angle) * this.radius;//sin()
this.y = this.centerY + Math.cos(this.angle) * this.radius;//cos()
Math.sin()やMath.cos()の変えると動きが変わります。
逆にすると、逆回転、Math.sin()をMath.tan()に変えるとゆらゆらと横移動、
Math.cos()を変えるとゆらゆらと縦移動します。
好みに合わせて変えると楽しいです。
angleは、「new Date().getTime() / 350」と1970年からの時間をミリ秒単位で取っています。
「350」の部分を小さくすると回転スピードが早くなります。