unity2d垂直移动逻辑错误

Posted

技术标签:

【中文标题】unity2d垂直移动逻辑错误【英文标题】:Unity2d vertical movement logical error 【发布时间】:2015-01-16 18:11:46 【问题描述】:

所以,我的水平移动代码没问题,而且运行良好。 问题是我为垂直移动添加了一些代码,而我的键几乎与我想要完成的相反。

我的右键让我的角色向上,我的向上键让我的角色向右等等。

感谢任何帮助。

使用 UnityEngine; 使用 System.Collections;

公共类 CharacterMovement : MonoBehaviour 公共浮点 MaxSpeed = 10f;

// Use this for initialization
void Start () 



// Update is called once per frame
void FixedUpdate () 

    float move = Input.GetAxis ("Horizontal");
    rigidbody2D.velocity = new Vector2 (move * MaxSpeed, rigidbody2D.velocity.y);

    float moveV = Input.GetAxis ("Vertical");
    rigidbody2D.velocity = new Vector2 (moveV * MaxSpeed, rigidbody2D.velocity.x);



【问题讨论】:

【参考方案1】:

Y 是垂直坐标,但您在水平调用中引用它。您只需要交换 .x 和 .y 即可。

编辑: 对不起,我的回答很匆忙,你需要交换 x 和为什么,还要交换你的 Vector 参数,所以:

void FixedUpdate () 

    float move = Input.GetAxis ("Vertical");
    rigidbody2D.velocity = new Vector2 (moveV * MaxSpeed, rigidbody2D.velocity.y);

    float moveV = Input.GetAxis ("Horizontal");
    rigidbody2D.velocity = new Vector2 (rigidbody2D.velocity.x, move * MaxSpeed);

【讨论】:

这不行,我这样做时左右键不起作用,并且角色以东北方式向上移动,以西南方式向下移动。

以上是关于unity2d垂直移动逻辑错误的主要内容,如果未能解决你的问题,请参考以下文章

unity2d刚体不能用translate移动吗

Unity2d人物移动+动画控制

Unity入门计划Unity2D动画-脚本与混合树实现玩家角色动画过渡

unity2D背景移动补偿从而获得3d错觉效果

unity2d如何判断高度

1.Unity2D 横版 移动+跳跃+跳跃优化+长按高跳