using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 相机管理员,主要控制游戏核心玩法中,相机向右移动和卡死死法的判定 /// public class CameraManager : MonoBehaviour { /// /// 相机移动的速度 /// [Header("相机移动的速度")] public float speed = 1f; private Transform killWall; void Start() { InitSth(); FindSth(); CreatSth(); } void Update() { //向右移动镜头 Move(); } public void Death(GameController.Death deathInfo) { //相机不再运动 speed = 0; } void CreatSth() { killWall.gameObject.AddComponent(); } void FindSth() { killWall = transform.Find("KillWall"); //killWall = GameObject.Find("KillWall").transform; if(killWall == null) Debug.LogError("没找到KillWall,请检查相机是否有叫此名字的子物体"); } void InitSth(){} /// /// 每帧调用,向右移动 /// void Move(){ transform.position += (Vector3.right * speed * Time.deltaTime); } class KillWall : MonoBehaviour { void OnTriggerEnter2D(Collider2D other) { if(other.tag == "HorseHead") { GameController.Death death; death.deadReason = GameController.Death.DeadReason.Camera; GameController.Instance.GameOver(death); } } void OnTriggerExit2D(Collider2D other) { Debug.Log("出去了一个:" + other.name); switch(other.tag) { case "Fragment": Destroy(other.gameObject); break; case "Obstacle": Destroy(other.gameObject); break; } } } }