换枪加缓存池


Unity工具C#语言制作的经典游戏换枪效果,缓存池实例化子弹,带所有资源(武器,代码等导入unity直接可用)
资源截图
代码片段和文件信息
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChangeArms : MonoBehaviour {

    public Gameobject[] weapons;                // 武器数组
    public int startingWeaponIndex = 0;         // 武器初始索引
    private int weaponIndex;                    // 武器索引


    // Use this for initialization
    void Start()
    {
        // 确保启动主武器是由用户在启动武器索引中选择的
        weaponIndex = startingWeaponIndex;
        SetActiveWeapon(weaponIndex);
    }

    // Update is called once per frame
    void Update()
    {
        // 允许用户立即切换到任何武器
        if (Input.GetButtonDown(“Weapon 1“))
            SetActiveWeapon(0);
        if (Input.GetButtonDown(“Weapon 2“))
            SetActiveWeapon(1);
        if (Input.GetButtonDown(“Weapon 3“))
            SetActiveWeapon(2);
        if (Input.GetButtonDown(“Weapon 4“))
            SetActiveWeapon(3);
        if (Input.GetButtonDown(“Weapon 5“))
            SetActiveWeapon(4);
        if (Input.GetButtonDown(“Weapon 6“))
            SetActiveWeapon(5);
        if (Input.GetButtonDown(“Weapon 7“))
            SetActiveWeapon(6);
        if (Input.GetButtonDown(“Weapon 8“))
            SetActiveWeapon(7);
        if (Input.GetButtonDown(“Weapon 9“))
            SetActiveWeapon(8);

        // 允许用户滚动武器
        if (Input.GetAxis(“Mouse ScrollWheel“) > 0)
            NextWeapon();
        if (Input.GetAxis(“Mouse ScrollWheel“) < 0)
            PreviousWeapon();
    }
    public void SetActiveWeapon(int index)//激活武器的方法
    {
        // 在切换到该武器之前,请确保该武器存在
        if (index >= weapons.Length || index < 0)
        {
            Debug.LogWarning(“试图切换到一个不存在的武器确保你的武器阵列中有正确的武器“);
            return;
        }

        // 发送消息,这样用户就可以在其他情况下进行其他操作
        SendMessageUpwards(“OnEasyWeaponsSwitch“ SendMessageOptions.DontRequireReceiver);

        // 确保武器索引引用正确的武器
        weaponIndex = index;

        // 确保武器切换后没有射束游戏对象
        // weapons[index].GetComponent().StopBeam();

        // 开始停用所有武器
        for (int i = 0; i < weapons.Length; i++)
        {
            weapons[i].SetActive(false);
        }

        // 激活一个我们想要的武器
        weapons[index].SetActive(true);
    }

    public void NextWeapon()//下一个武器
    {
        weaponIndex++;
        if (weaponIndex > weapons.Length - 1)
            weaponIndex = 0;
        SetActiveWeapon(weaponIndex);
    }

    public void PreviousWeapon()//上一个武器
    {
        weaponIndex--;
        if (weaponIndex < 0)
            weaponIndex = weapons.Length - 1;
        SetActiveWeapon(weaponIndex);
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-09 09:52  ChangeArms
     目录           0  2018-11-09 09:50  ChangeArms.vs
     目录           0  2018-11-09 09:50  ChangeArms.vsChangeArms
     目录           0  2018-11-09 09:50  ChangeArms.vsChangeArmsDesignTimeBuild
     文件         420  2018-09-14 18:50  ChangeArms.vsChangeArmsDesignTimeBuild.dtbcache
     目录           0  2018-11-09 09:50  ChangeArms.vsChangeArmsv15
     文件      134144  2018-11-09 10:23  ChangeArms.vsChangeArmsv15.suo
     目录           0  2018-11-09 09:50  ChangeArms.vsChangeArmsv15Server
     目录           0  2018-11-09 09:50  ChangeArms.vsChangeArmsv15Serversqlite3
     文件       24658  2018-09-14 14:31  ChangeArmsAssembly-CSharp-Editor-firstpass.csproj
     文件       24994  2018-11-09 07:54  ChangeArmsAssembly-CSharp-Editor.csproj
     文件       20390  2018-11-09 07:54  ChangeArmsAssembly-CSharp-firstpass.csproj
     文件       21002  2018-11-09 07:54  ChangeArmsAssembly-CSharp.csproj
     目录           0  2018-11-09 09:50  ChangeArmsAssets
     文件        7150  2018-09-13 15:51  ChangeArmsAssets20180913.unity
     文件         155  2018-09-13 15:51  ChangeArmsAssets20180913.unity.meta
     目录           0  2018-11-09 09:50  ChangeArmsAssetsArms
     文件         172  2018-09-14 13:57  ChangeArmsAssetsArms.meta
     文件      108128  2018-09-14 13:57  ChangeArmsAssetsArmsRegular_Character.prefab
     文件         190  2018-09-14 13:55  ChangeArmsAssetsArmsRegular_Character.prefab.meta
     文件        3010  2018-09-14 18:49  ChangeArmsAssetsChangeArms.cs
     文件         243  2018-09-14 13:49  ChangeArmsAssetsChangeArms.cs.meta
     目录           0  2018-11-09 09:50  ChangeArmsAssetsEasy Weapons
     文件         172  2018-09-14 14:08  ChangeArmsAssetsEasy Weapons.meta
     目录           0  2018-11-09 09:50  ChangeArmsAssetsEasy WeaponsExtra
     文件         193  2016-05-24 14:18  ChangeArmsAssetsEasy WeaponsExtra.meta
     目录           0  2018-11-09 09:50  ChangeArmsAssetsEasy WeaponsExtraBomb_Launcher
     文件         193  2016-05-24 14:14  ChangeArmsAssetsEasy WeaponsExtraBomb_Launcher.meta
     文件       46652  2016-05-24 14:16  ChangeArmsAssetsEasy WeaponsExtraBomb_Launcheromb_launcher.fbx
     文件        1552  2016-05-24 14:16  ChangeArmsAssetsEasy WeaponsExtraBomb_Launcheromb_launcher.fbx.meta
     文件        2335  2016-05-24 14:16  ChangeArmsAssetsEasy WeaponsExtraBomb_LauncherBomb_Launcher.prefab
............此处省略1145个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)