(C#)Unity2D-与我的角色战斗的动画';什么运动?
我想提前感谢你在这个问题上对我的帮助 我有一个由三部分组成的播放器: 身体 头部 手臂呢 这三个都是单独的精灵 我把它们都放在一个空的游戏对象下,我把它命名为“玩家” 然后,我在“玩家”游戏对象上添加了一个动画,将Y位置从0更改为0.022,然后从0.022更改为0。 这将创建一个漂亮的小悬停动画,角色在其中上下弹跳 动画效果非常好 但是,我还有一个脚本附加到“Player”对象,这个脚本称为“PlayerController” 在PlayerController中,如果玩家按住A(表示向左移动)或D(表示向右移动),我会更改玩家的x位置 当我按住A或D时,角色拒绝移动。然而,他确实正确地翻转了 我个人认为我的动画是在与脚本战斗,而且动画比脚本具有更高的优先级 (不确定该社区是否普遍接受视频。如果不接受,我道歉) 如果你们能帮助我了解发生了什么,以及如何纠正,我将非常感激(C#)Unity2D-与我的角色战斗的动画';什么运动?,c#,animation,position,unity2d,C#,Animation,Position,Unity2d,我想提前感谢你在这个问题上对我的帮助 我有一个由三部分组成的播放器: 身体 头部 手臂呢 这三个都是单独的精灵 我把它们都放在一个空的游戏对象下,我把它命名为“玩家” 然后,我在“玩家”游戏对象上添加了一个动画,将Y位置从0更改为0.022,然后从0.022更改为0。 这将创建一个漂亮的小悬停动画,角色在其中上下弹跳 动画效果非常好 但是,我还有一个脚本附加到“Player”对象,这个脚本称为“PlayerController” 在PlayerController中,如果玩家按住A(表示向左移动
谢谢!:) 经过几个小时的修补,问题终于解决了 结果证明解决方案很简单: 我所要做的就是这样构造我的播放器:
- 玩家(空游戏对象)
- PlayerAssembly(身体、头部和手臂的父对象)
- 身体部位(身体、头部、手臂)
- PlayerAssembly(身体、头部和手臂的父对象)
protected bool facingRight = true;
float xPos = 0;
void Update()
{
if (Input.GetKey(KeyCode.D))
{
xPos += 0.01f;
if (!facingRight)
{
Flip();
}
}
else if (Input.GetKey(KeyCode.A))
{
xPos -= 0.01f;
if (facingRight)
{
Flip();
}
}
gameObject.transform.position = new Vector2(xPos, transform.position.y);
}
protected void Flip()
{
facingRight = !facingRight;
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}