今日のエッセイ

今日も気まぐれにゲーム作りました。
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」の部分を小さくすると回転スピードが早くなります。