Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(196评价)
价格: 4019.00元

解决切枪bug不够完善,

假定枪械数量>3。

0,1,2,3

拾取0,2后鼠标滑轮依旧无法完成切枪。

目前知识滴优化思路:

1.自动切枪逻辑不变

2.将武器ID列表按照从小到大的顺序排序,并转化为一个数组。手动切枪时根据curIndex和%运算符实现循环切枪。

public void ChangeCurWeapon(bool autoChange = false)
    {
        //todo 拾取武器的id不连续时无法切枪bug √
        if (autoChange)
        {
            //第一次拾取时,切换最新拾取武器
            ChangeWeapon(weaponDict.Keys.Last());
        }
        else
        {
            var weaponIDs = weaponDict.Keys.OrderBy(id => id).ToArray();//将key小大排序形成数组
            var curIndex = Array.IndexOf(weaponIDs, curWeaponID);
            if (Input.GetAxis("Mouse ScrollWheel") > 0)//向上滑
            {
                curIndex = (curIndex + 1) % weaponIDs.Length;
                ChangeWeapon(weaponIDs[curIndex]);
            }
            else if (Input.GetAxis("Mouse ScrollWheel") < 0)//向下滑
            {
                curIndex = (curIndex + weaponIDs.Length - 1) % weaponIDs.Length;
                ChangeWeapon(weaponIDs[curIndex]);

            }
        }
    }

 

[展开全文]

Unity使用左手坐标系

[展开全文]
LSCqmu · 2023-03-20 · 0

不按照字典的顺序拾取武器的时候,切换武器会发生空值。不知到有没有修

[展开全文]
天天犯困 · 2022-04-05 · 0

卧槽是语气词 不是脏话!

[展开全文]
天天犯困 · 2022-04-03 · 0