・Unity初心者です。
・現在、Unityで2Dのブロック崩しゲームを作っています。一般的に見られるオーソドックスなゲームです。
・プレイヤーは、ゲーム画面下部にあるバーを操作し、ボールを跳ね返らせ、画面上部のブロックに当てて壊していけます。
・ブロックは全部で16個、1ブロックに2回ボールをヒットさせると、ブロックが壊れてプレイヤーに得点が入ります。
【教えてほしいこと】
・他ブロックを挟むことなく、同じブロックに2回連続でボールを当てたとき、プレイヤーが取得できる得点を通常の2倍にするにはどうすればよいか、その場合のコードを教えていただきたいです。
(例:ブロックA → ブロックB → ブロックA = 通常得点 ブロックA → ブロックA = 通常得点の2倍の得点をゲット)
もっと具体的には、同じブロックに2回連続であたったと判定できる当たり判定のコードを教えていただきたいです。
【現状のブロックのコード】
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Block : MonoBehaviour
{
public int life = 2; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } private void OnCollisionEnter2D(Collision2D collision) { if(collision.gameObject.name == "Ball") { life--; if(life == 0) { FindObjectOfType<Score>().AddPoint(10); Destroy(gameObject); } } }
}
OnCollisionのifの中にif(life == 0 && 〇〇〇〇)、というようなコードを書けばよいのかなと思っていますが、Webを探しても適切な解説方法が見つけられず。
もしよければ教えていただきたいです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/02 14:43