Unity3d 模拟鼠标框选物体

这篇博客介绍了如何使用Unity中的RectRender脚本,通过鼠标操作在相机视图中绘制矩形,选定范围后选择并打印指定标签的游戏物体。它涉及了键盘监听、屏幕坐标转换和GL渲染技术。

脚本需要挂载在相机上,材质球选择默认Sprites-Default.

/// <summary>
/// 鼠标框选屏幕选中物体
/// </summary>
public class RectRender : MonoBehaviour
{

    private bool onDrawingRect;//是否正在画框(即鼠标左键处于按住的状态)

    private Vector3 startPoint;//框的起始点,即按下鼠标左键时指针的位置
    private Vector3 currentPoint;//在拖移过程中,玩家鼠标指针所在的实时位置
    private Vector3 endPoint;//框的终止点,即放开鼠标左键时指针的位置

    private Selector selector;
   

    void Update()
    {
        //玩家按下鼠标左键,此时进入画框状态,并确定框的起始点
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            onDrawingRect = true;
            startPoint = Input.mousePosition;
            Debug.Log("开始画框,起点:"+ startPoint);
        }

        //在鼠标左键未放开时,实时记录鼠标指针的位置
        if (onDrawingRect)
        {
            currentPoint = Input.mousePosition;
        }

        //玩家放开鼠标左键,说明框画完,确定框的终止点,退出画框状态
        if (Input.GetKeyUp(KeyCode.Mouse0))
        {
       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值