当前位置:   article > 正文

SIKI学习1——见缝插针09练习-针头的碰撞和游戏结束的处理_见缝插针生成后运行针头碰撞

见缝插针生成后运行针头碰撞

针头的碰撞
在这里插入图片描述
给针头添加Tag值为PinHead,同时要勾选Trigger这样不会发生碰撞,被撞飞的事情,还有重力取消,这点是重点,我已经两次没有看见了坑啊。
同时给PinHead添加一个PinHead脚本。

public class PinHead : MonoBehaviour
{

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "PinHead")
        {
            GameObject.Find("GameManager").GetComponent<GameManager>().GameOver();
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里控制游戏的结束

public class GameManager : MonoBehaviour
{
    private Transform StartPoint;//针的发射点
    private Transform SpawnPoint;//针的生成点
    public GameObject pinPrefab;//针的预设物,需要拖拽
    private Pin currentPin;//获取当前针,以方便调用方法
    private bool isGameOver = false;//判定游戏是否结束
    void Start ()
    {
        StartPoint = GameObject.Find("StartPoint").transform;
        SpawnPoint = GameObject.Find("SpawnPoint").transform;
        SpawnPin();
    }
    private void Update()
    {
        if (isGameOver) return;//控制针的生成和发射
        if (Input.GetMouseButtonDown(0))
        {
            currentPin.StartFly();//调用飞行的方法
            SpawnPin();
        }
    }
    void SpawnPin()
    {
        currentPin= GameObject.Instantiate(pinPrefab,SpawnPoint.position,pinPrefab.transform.rotation).GetComponent<Pin>();
    }
    public void GameOver()
    {
        if (isGameOver) return;//保证这个方法只执行一次
        GameObject.Find("Circle").GetComponent<RotateSelf>().enabled = false;
        isGameOver = true;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48105
推荐阅读
相关标签
  

闽ICP备14008679号