我正在创建一个类似于涂鸦跳跃的游戏。
我已经将我的相机编程为在播放器之后上升而不是向下,所以当播放器从相机视图下降时,他会输掉。
我还希望当它们离开相机视图时产生的障碍被破坏。我已经为他们附加了一个脚本,但它没有工作,因为我将脚本附加到主对象,如果它被销毁,那么就不能再生成这些东西,所以我需要附加一些脚本克隆,而不是主要的游戏对象,或者你可以帮我写一个好的剧本。
public GameObject player;
public Camera camera;
public GameObject obstacleclone;
public GameObject platform;
void Start () {
}
void Update () {
if(camera.transform.position.y > obstacleclone.transform.position.y + 10f
|| camera.transform.position.y > platform.transform.position.y + 20f)
{
platform.SetActive(false);
}
}
void OnCollisionEnter(Collision col)
{
StartCoroutine ("go");
}
IEnumerator go()
{
yield return new WaitForSeconds(2f);
Destroy (gameObject);
}
答案 0 :(得分:1)
您可以使用Renderer.OnBecameInvisible 它将被称为wehn对象不再可见
public void OnBecameInvisible()
{
Destroy(gameObject);
}
但是你的游戏是无限的跑步者类型所以使用对象池而不是创建和销毁对象。根据你的需要,它可以是简单的或复杂的。 还可以将相机连接到主播放器,以便它可以跟随播放器。