unity中2D人物随着鼠标位置控制转向的代码
在Unity中,可以通过以下代码使2D人物随着鼠标位置控制转向:
using UnityEngine;
public class CharacterController : MonoBehaviour
{
private Vector3 mousePosition;
private Rigidbody2D rb;
private Vector2 direction;
public float moveSpeed = 5f;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
// 获取鼠标位置
mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
// 计算鼠标位置与人物位置的方向
direction = (mousePosition - transform.position).normalized;
// 旋转人物朝向鼠标的方向
transform.right = direction;
// 控制人物移动
rb.velocity = new Vector2(direction.x * moveSpeed, direction.y * moveSpeed);
}
}
这段代码首先获取鼠标的屏幕位置,并将其转换为世界坐标系中的位置。然后,计算鼠标位置与人物位置之间的方向向量,并将人物的朝向设置为该方向向量。最后,使用该方向向量控制人物移动的速度和方向。
原文地址: https://www.cveoy.top/t/topic/i8vF 著作权归作者所有。请勿转载和采集!