上下文:,我目前正在为我的2D RPG创建一个近战组合系统。第一次玩家攻击会触发第一次攻击动画,如果玩家选择第二次攻击,就会触发第二次攻击动画。我通过调用一个根据需要播放的动画传递字符串参数的攻击函数来使系统工作。
因此,ComboOrder函数将被调用每个帧来排序动画,一旦玩家按下"E“键,攻击函数将以”攻击-1“或”攻击-2“调用。
问题:代码和动画工作正常,但是,在对游戏的其他部分进行了多次更改之后,每当我按"E“键时,我都会收到警告。我所改变的是完全不相关的,所以我看不出它和警告有什么联系。

Parameter" does not exist我尝试过的解决方案:--我在网上搜索过答案,但是,它们都不适合我的问题。团结似乎认为我是在传递字符串,“这表示语法错误,但我已经反复检查了我的代码,找不到任何类似的东西。我还听说,它一直是团结中的一个bug,但他们从来没有告诉过如何修复它。如果是这样的话,我还能做些什么吗?”
下面是代码:
void ComboOrder() {
if (comboIndex == 1)
{
if (Input.GetKeyDown(KeyCode.E)) // Attack Input
{
Attack("Attack-1");
comboIndex++;
}
} else if (comboIndex == 2) {
if (Input.GetKeyDown(KeyCode.E)) // Attack Input
{
Attack("Attack-2");
comboIndex--;
}
}
}
public void Attack(string attack)
{
animator.SetTrigger(attack);
}以下是该播放器的动画设置:


发布于 2020-06-18 02:25:21
因此,在两周内无法完成游戏之后,我回来仔细看了看,发现你说的是这样的,有一个动画事件在没有传递参数的情况下调用了这个函数,因为它没有被编码,所以我从未捕捉到它。感谢所有帮助我的人。
https://stackoverflow.com/questions/62248384
复制相似问题