首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >移动式统一交换武器

移动式统一交换武器
EN

Stack Overflow用户
提问于 2019-05-08 14:09:19
回答 1查看 255关注 0票数 0

因此,我有以下代码,用于在占位符内切换武器,我想将其扩展到从按钮切换武器,所以我也可以在我的手机上切换它们。

代码语言:javascript
运行
复制
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class WeaponSwitcher : MonoBehaviour {
    public int selectedWeapon = 0;

    // Use this for initialization
    void Start () {
        SelectWeapon();
    }

    // Update is called once per frame
    void Update () {
        int previousSelectedWeapon = selectedWeapon;

        if (Input.GetAxis ("Mouse ScrollWheel") > 0f) 
        {
            if (selectedWeapon >= transform.childCount - 1)
                selectedWeapon = 0;
            else
                selectedWeapon++;
        }
        if (Input.GetAxis ("Mouse ScrollWheel") < 0f) 
        {
            if (selectedWeapon <= 0)
                selectedWeapon = transform.childCount - 1;
            else
                selectedWeapon--;
        }

        if (previousSelectedWeapon != selectedWeapon) 
        {
            SelectWeapon ();
        }

    }

    void SelectWeapon()
    {
        int i = 0;
        foreach (Transform weapon in transform) 
        {
            if (i == selectedWeapon)
                weapon.gameObject.SetActive (true);
            else
                weapon.gameObject.SetActive (false);
            i++;
        }
    }
}

我该怎么办?我是新手,我尝试过的一切都没有奏效。

我尝试了一个独立的脚本,只是为了寻找哪个武器是活动的,并关闭了另一个(只有两个),等等,但它没有工作。

代码语言:javascript
运行
复制
public class ChangeWeapon : MonoBehaviour
{ 
    public GameObject gun; 
    public GameObject shotgun; 

    void switchWeapons () 
    { 
        gun = GameObject.Find("Gun"); 
        shotgun = GameObject.Find("Shotgun"); 

        if (gun.gameObject.activeSelf) 
        { 
            shotgun.gameObject.SetActive (true); 
            gun.gameObject.SetActive (false); 
        }
        else
        {
            shotgun.gameObject.SetActive (false); 
            gun.gameObject.SetActive (true); 
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-08 18:17:16

我找到了一个很简单的解决方案。

我将两个按钮放在另一个按钮上,禁用了第二个按钮,然后单击操作执行以下操作:

  1. 启用第二个按钮
  2. 禁用第一个按钮
  3. 禁用第一支枪
  4. 启用第二支枪

反之亦然。

图像

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

https://stackoverflow.com/questions/56042747

复制
相关文章

相似问题

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