下面是代码的问题,它是用来移动三维立方体向上/向下/左/右。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour
{
Vector2 Vec;
void Start()
{
}
void Update()
{
Vec = transform.localPosition;
Vec.x += Input.GetAxis("Horizontal") * Time.deltaTime * 20;
Vec.y += Input.GetAxis("Vertical") * Time.deltaTime * 20;
transform.localPosition = Vec;
}
}
我试过设置输入管理器,但由于缺乏耐心而放弃。另外,我不知道如何将按钮绑定到操作。
1条答案
按热度按时间zxlwwiss1#
没有任何直接内置的东西可以提供
UnityEngine.UI.Button
或其他对象的当前按下状态。但是您可以使用
IPointerXYHandler
接口来实现,例如PhysicsRaycaster
,如果是2D碰撞器,则需要安装PhyicsRaycaster2D
。*然后把这个连接到所有四个按钮上,并像这样处理它们。
确切地说,
GetAxis
应用了某种平滑,如果您确实需要,您可以使用Mathf.SmoothDamp
等选项添加平滑边注:一般来说,你通常希望避免更快的对角线移动,所以我可能宁愿使用