Unity 使用相同的触发器打开和关闭动画浮动

问题描述 投票:0回答:2

我正在创建一个代码,当碰撞时会触发动画浮动,但我想将它编码到它在被同一个触发器击中时也会关闭浮动/动画的位置;

var TiltingL = TiltL ? player.camera.camAnim.SetBool("TiltL", true) : player.camera.camAnim.SetBool("TiltL", false);

我想使用“?:”代码,但不确定如何用动画正确编码它。

c# visual-studio unity3d animation unityscript
2个回答
0
投票

三元运算符 (

?:
) 不适合此用例。相反,你可以这样做:

// Get current value of animator bool
bool isFloating = player.camera.camAnim.GetBool("TiltL");

// Toggle animator boolean value
player.camera.camAnim.SetBool("TiltL", !isFloating)

三元运算符用于返回两个可能值之一,而不是用于执行两种可能方法之一(除非这些方法都具有与您分配的变量相同的返回类型;有关更多详细信息,请参见this answer)。 Unity 的 animator.SetBool 返回 void,因此您的示例会将

TiltingL
初始化为 void 并导致错误。


0
投票

这是您的要求吗?

Player.camera.camanim.setbook ("tiltl", player.camera.camanim.getbook ("tiltl")? False: TRUE);

之前的答案被删除了。如果对您有帮助,您可以点个赞,这样可以帮助到更多的人

© www.soinside.com 2019 - 2024. All rights reserved.