♥️作者:白日参商
♂️个人主页:白日参商主页
♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!
加油! 加油! 加油! 加油
欢迎评论 点赞 收藏 加关注+!
提针对这个需求,以下是示例脚本代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjectRotationWithMouse : MonoBehaviour
{
public float rotationSpeed = 1.0f; // 旋转速度
private Quaternion initialRotation; // 初始旋转
private bool isRotating = false; // 标记是否正在旋转
private float rotationStartX; // 旋转起始点的X坐标
private void Start()
{
initialRotation = transform.rotation; // 记录初始旋转
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
isRotating = true;
rotationStartX = Input.mousePosition.x;
}
else if (Input.GetMouseButtonUp(0))
{
isRotating = false;
transform.rotation = initialRotation; // 恢复初始旋转
}
if (isRotating)
{
// 获取鼠标水平移动的值
float mouseX = Input.mousePosition.x - rotationStartX;
// 计算旋转角度
float rotationAmount = mouseX * rotationSpeed * Time.deltaTime;
// 围绕自身 Y 轴旋转物体
transform.Rotate(Vector3.up, rotationAmount);
rotationStartX = Input.mousePosition.x; // 更新旋转起始点
}
}
}
♥️作者:白日参商
♂️个人主页:白日参商主页
♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!
加油! 加油! 加油! 加油
欢迎评论 点赞 收藏 加关注+!