Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当我开始游戏时,Unity OnTiggerEnter会自动激活_C#_Unity3d - Fatal编程技术网

C# 当我开始游戏时,Unity OnTiggerEnter会自动激活

C# 当我开始游戏时,Unity OnTiggerEnter会自动激活,c#,unity3d,C#,Unity3d,谁能告诉我我做错了什么?我的void OnTriggerEnter(Collider other)方法中有代码,只有当我穿过盒子的碰撞器时才应该调用该代码,但当我开始游戏时,该代码会立即被调用 当我开始游戏时,Unity的OnTriggerEnter似乎会自动激活。我怎样才能防止呢?我确保玩家有一个对撞机 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Jum

谁能告诉我我做错了什么?我的
void OnTriggerEnter(Collider other)
方法中有代码,只有当我穿过盒子的碰撞器时才应该调用该代码,但当我开始游戏时,该代码会立即被调用

当我开始游戏时,Unity的
OnTriggerEnter
似乎会自动激活。我怎样才能防止呢?我确保玩家有一个对撞机

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class JumpTrigger : MonoBehaviour
{
    public AudioSource Scream;
    public GameObject ThePlayer;
    public GameObject JumpCam;
    public GameObject FlashImg;


    void OnTriggerEnter(Collider other)
    {
        Scream.Play();
        JumpCam.SetActive(true);
        ThePlayer.SetActive(false);
        FlashImg.SetActive(true);
        StartCoroutine (EndJump ());
    }

    IEnumerator EndJump()
    {
        yield return new WaitForSeconds(1.5f);
        ThePlayer.SetActive(true);
        JumpCam.SetActive(false);
        FlashImg.SetActive(false);
        Destroy(gameObject);
    }


}

当你开始游戏时,你已经在盒子里了。导致激活
OnTriggerEnter()
功能

为了保证它仅在玩家穿过框碰撞器边界时触发,请使用