プログラミング未経験だけどゲームつくる - 9 : 石ころを複数配置する【LOVE2d】

こんばんは、サトウダイスケです。

今回は当たり判定の石ころを複数ランダム配置したいと思います。

    ishikoro_x = {}
    ishikoro_w = 10

    for i = 1 , 4 do
      s = math.random(100, window_w)     
      table.insert(ishikoro_x, s)
    end

タイトル画面が表示されたタイミングで、4つ石ころのx座標をランダム生成してテーブルに格納します。個数は任意で変更可能です。

  for i = 1 , #ishikoro_x do
    love.graphics.rectangle("fill",ishikoro_x[i] , zimen_h - ishikoro_w,ishikoro_w,ishikoro_w)      
  end

次にdrawで石ころを描画します。
forを使って順々に配置していきます。

     -- ダメージを受けた際の計算
    if damage_muteki == 0 then
      for i=1 , #ishikoro_x do
      ishikoro_center = ishikoro_x[i] + ishikoro_w/2
      if math.abs(neko_center_x-ishikoro_center)  -- 猫のx軸の中心と石ころのx軸の中心の差の絶対値
        < 
        scale * 9 / 2 + ishikoro_w/2  -- 猫の石ころの当たり判定となる半径の和
        then
          if neko_center_y == zimen_h then
            damage = damage + 1
            damage_muteki = 1
            nokori_soul = nokori_soul - 1
            love.audio.play(snd_damage)
            damage_muteki_time_remaing = damage_muteki_time
          end
        end
      end
    end

そして当たり判定です。
forの中で石ころのx軸の中心(半径)を計算しています。

こんな感じでランダムで任意の数の石ころを配置することができました。
スタートした瞬間ダメージ受けてしまったりするので、最終的な調整はまた今後したいと思います。

次回は石ころたちを動かします。
余力があれば石ころをネズミの画像に差し替えられたらと思います。
あ、いや、待てよ、猫ちゃんがネズミから逃げてどうする...?笑


この記事が気に入ったらサポートをしてみませんか?