Unityでジャンクゲームを作っているっぽい

会社帰りにGPD PocketにUnity入れてゲーム作ってます

Pyxelで作る05 アイテムとの当たり判定

参考サイト

今回も↓のサイトにお世話になっています
dev.classmethod.jp

今回追加したコード

update_fruit内でplayerとの衝突判定をしています
衝突したら、fruitの表示を消しています

    def update_fruit(self, x, y, is_active):
        #衝突判定(playerとfruitの座標の絶対値から衝突しているか判定している)
        if is_active and abs(x - self.player_x) < 12 and abs(y - self.player_y) < 12:
            is_active = False   #表示を消す
	【省略】

ポイント

abs関数は絶対値を求めます
衝突判定は、fruteとプレイヤーの座標の差が12以下なら重なっているってので判定しています
(最近、collisionとかで判定ばかりしていたので、こういう方式での衝突判定は懐かしかったw)
図で示すと
f:id:mekatamatama:20201011004206p:plain
x座標だけの説明ですが、y座標も考え方は同じ
絶対値が12未満であれば当たり判定が重なる = 衝突していることになります
なんで12って数値なのかは、当たり判定を見た目より小さくしたいからでしょう
ただ、各キャラクタ座標の起点は左上だから…見た目とチョット判定が合わないかもだけど…気にしないw

次は、得点取得とUI表示をやってみたい