Unity实现鼠标画画的功能

在unity里面实现一个功能,通过按下鼠标左键开始在平面上画画,松开鼠标左键结束画画

using UnityEngine;

public class Drawing : MonoBehaviour
{
    private LineRenderer lineRenderer; // 线渲染器
    private int vertexCount = 0; // 顶点数计数器
    private bool mouseDown = false; // 鼠标状态标记

    void Start()
    {
        lineRenderer = GetComponent<LineRenderer>(); // 获取组件
        lineRenderer.positionCount = 0; // 初始化顶点数
        lineRenderer.material.color = Color.black; // 设置线颜色
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0)) // 检测鼠标左键是否按下
        {
            lineRenderer.positionCount = 0; // 重置顶点数
            vertexCount = 0; // 重置顶点计数器
            mouseDown = true; // 标记鼠标按下
        }

        if (Input.GetMouseButtonUp(0)) // 检测鼠标左键是否松开
        {
            mouseDown = false; // 标记鼠标松开
        }

        if (mouseDown) // 检测鼠标状态
        {
            // 将鼠标的世界坐标投影到平面上
            Vector3 pos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10f);
            pos = Camera.main.ScreenToWorldPoint(pos);

            // 添加一个新的顶点
            lineRenderer.positionCount = vertexCount + 1;
            lineRenderer.SetPosition(vertexCount, pos);
            vertexCount++;
        }
    }
}

使用方法:

将该脚本添加到游戏对象上。
确保该游戏对象上有 Line Renderer 组件,并设置好材质和线宽等参数。
运行游戏,在场景视图中按下鼠标左键并拖动即可进行画画,松开鼠标左键则结束画画。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToDoNothing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值