brown water

ゲームやアニメの感想とかプログラムとか

2Dアクションゲームの制作-1

ライブラリ等を使わず、JavaScriptを使って2Dジャンプアクションの基本部分を作っていこうと思います。

f:id:chaz4:20171230030244j:plain

 
参考にしたサイト

qiita.com

矩形同士の衝突判定

f:id:chaz4:20171230012419p:plain

動かすスプライトを矩形とし、座標は中心を基準とします。
スプライトは座標x,yと矩形のサイズw,hを持っています。
これを基にスプライトクラスを作成し、自分(my)と相手(opponent)のそれぞれのインスタンスを作ります。

そして、

1.自分と相手の距離を求める。
myX - opponentXの絶対値→sx
myY - opponentYの絶対値→sy

2.自分と相手のサイズを半分にした値を足す。
myW/2 + opponentW/2→sw
myH/2 + opponentH/2→sh

3.上記の1と2を比べ、1<2だと衝突となる。
(sx < sw) && (sy < sh)なら衝突!

f:id:chaz4:20171230021447p:plain
カーソルキーの上下左右で動かして、中央の緑のブロックに当たると赤くなるというプログラムです。

衝突判定のテストが出来るようになりました。