Unity很新,试图了解C#,我一直在观看一些关于让Android操纵杆与游戏兼容的教程。我试图让屏幕上的操纵杆和正常输入一起工作
所以我想我可以输入
anim.SetFloat("Turn", CrossPlatformInputManager, Input.GetAxis("Horizontal"));
或
anim.SetFloat("Turn", CrossPlatformInputManager & Input.GetAxis("Horizontal"));
或
anim.SetFloat("Turn", CrossPlatformInputManager + Input.GetAxis("Horizontal"));
显然错了! 然后我尝试将它们分开放在
中void Update()
{
Turning ();
Move();
}
void Turning()
{
anim.SetFloat("Turn", CrossPlatformInputManager.GetAxis("Horizontal"));
anim.SetFloat("Turn", Input.GetAxis("Horizontal"));
}
void Move()
{
anim.SetFloat("Forward", CrossPlatformInputManager.GetAxis("Vertical"));
anim.SetFloat("Turn", Input.GetAxis("Horizontal"));
}
但是Unity决定首先使用Input而不是CrossPlatformInputManager
我知道在我的脑海中通过创建2个额外的浮动和一个混合树来为它自己创建一个解决方案,但这似乎是愚蠢的,为每个输入创建2个单独的动画......
答案很简单,但我不久前开始
如果有人能解释',& +'对我来说也会很棒!
感谢有人设法回复!
答案 0 :(得分:0)
您可以在#define(Ref)中包含特定于平台的控件(或其他逻辑)。
void Turning()
{
#if UNITY_STANDALONE_WIN || UNITY_EDITOR
anim.SetFloat("Turn", CrossPlatformInputManager.GetAxis("Horizontal"));
#endif
#if UNITY_ANDROID
anim.SetFloat("Turn", Input.GetAxis("Horizontal"));
#endif
}