首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一改变weapons.prefab问题

统一改变weapons.prefab问题
EN

Stack Overflow用户
提问于 2015-01-15 06:32:18
回答 1查看 820关注 0票数 0

所以我想给我的2d自上而下的太空射手换武器。所谓武器,我只是指我的子弹预制件,所以它发射另一颗子弹,然后我可以增加伤害等。

这是我的密码。当我按2号键时,它会在层次结构中拍摄我的预置克隆,但是它的颜色变灰了,在游戏视图中什么也没有显示出来。下面是我的playerShoot代码。

代码语言:javascript
复制
public class playerShoot : MonoBehaviour {

public Vector3 bulletOffset = new Vector3 (0, 0.5f, 0);
float cooldownTimer = 0;
public float fireDelay = 0.25f;
public GameObject bulletPrefab;
int bulletLayer;

public int currentWeapon;
public Transform[] weapons;

void Start () {

}

void Update () {

    if (Input.GetKeyDown(KeyCode.Alpha1)){
        ChangeWeapon(0);

    }
    if (Input.GetKeyDown(KeyCode.Alpha2)){
        ChangeWeapon(1);

    }

    cooldownTimer -= Time.deltaTime;
    if (Input.GetButton("Fire1") && cooldownTimer <= 0){
        cooldownTimer = fireDelay;
        Vector3 offset = transform.rotation * bulletOffset;
        GameObject bulletGO = (GameObject)Instantiate(bulletPrefab, transform.position + offset, transform.rotation);
        bulletGO.layer =gameObject.layer;
    }


}

public void ChangeWeapon(int num){
    currentWeapon = num;
    for (int i = 0; i < weapons.Length; i++){
        if (i ==num)
            weapons[i].gameObject.SetActive(true);
        else
            weapons[i].gameObject.SetActive(false);
    }
}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-15 08:07:52

保持其余代码不变,只需更改以下行

代码语言:javascript
复制
GameObject bulletGO = (GameObject)Instantiate(bulletPrefab, transform.position + offset, transform.rotation);

代码语言:javascript
复制
GameObject bulletGO = (GameObject)Instantiate(weapons[currentWeapon].gameObject, transform.position + offset, transform.rotation);

所做的更改是对武器数组中的武器使用转换,而不是使用bulletPrefab。

出现此问题是因为您正在实例化单个预制件,这与用于武器数组中的第一个元素的转换相同。因此,当您调用ChangeWeapon(1),时,预置程序将被停用。这在被实例化的非活动GameObjects中出现。

我建议你做的是有两个独立的预制板,并相应地产卵。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27957920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档