当我按下播放时,游戏对象消失

时间:2015-05-16 12:14:22

标签: unity3d

我在Unity中创建了一个FPS游戏并且从标准资产中获得了第一个人的相机枪,直到现在,当我按下编辑器中的“播放”按钮时,枪消失了。

我按照所有步骤here进行了操作,但仍然消失了。

我很擅长用Unity制作游戏,所以我可能错过了一些明显的东西。

这是代码:

    using UnityEngine;
    using System.Collections;

    public class PlayerShooting : MonoBehaviour {

    public ParticleSystem muzzleFlash;
    Animator anim;
    public GameObject impactPrefab;

    GameObject[] impacts;
    int currentImpact = 0;
    int maxImpacts = 5;

    bool shooting = false;

    // Use this for initialization
    void Start () {

        impacts = new GameObject[maxImpacts];
        for(int i = 0; i < maxImpacts; i++)
            impacts[i] = (GameObject)Instantiate(impactPrefab);

        anim = GetComponentInChildren<Animator> ();
    }

    // Update is called once per frame
    void Update () {

        if(Input.GetButtonDown ("Fire1") && !Input.GetKey(KeyCode.LeftShift))
        {
            muzzleFlash.Play();
            anim.SetTrigger("Fire");
            shooting = true;
        }

    }

    void FixedUpdate()
    {
        if(shooting)
        {
            shooting = false;

            RaycastHit hit;

            if(Physics.Raycast(transform.position, transform.forward, out hit, 50f))
            {
                if(hit.transform.tag == "Enemy")
                    Destroy (hit.transform.gameObject);

                impacts[currentImpact].transform.position = hit.point;
                impacts[currentImpact].GetComponent<ParticleSystem>().Play();

                if(++currentImpact >= maxImpacts)
                    currentImpact = 0;
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

解决了它,将GunCamera的深度改为1而不是0,现在它可以正常工作。

答案 1 :(得分:0)

enter image description here GameObject通过GameObject-&gt;创建空并命名 现在这应作为主摄像机的子项附加 现在这款主摄像头不是主摄像头,而是您添加的第一人称控制器对象内的主摄像头。

任何屏幕截图或示例代码都有助于找到确切的错误