用Gizmos类 鼠标 画矩形
时间: 2024-03-27 19:38:18 浏览: 40
好的,以下是一个简单的示例代码,实现了用Gizmos类在鼠标位置画矩形的功能:
```csharp
using UnityEngine;
public class RectangleDrawer : MonoBehaviour
{
private Vector3 startPos; // 矩形起始位置
private Vector3 endPos; // 矩形结束位置
private bool isDrawing; // 是否正在画矩形
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
// 鼠标左键按下,设置起始位置
startPos = Input.mousePosition;
isDrawing = true;
}
else if (Input.GetMouseButtonUp(0))
{
// 鼠标左键释放,结束绘制
isDrawing = false;
}
}
private void OnDrawGizmos()
{
if (isDrawing)
{
// 计算矩形的结束位置
endPos = Input.mousePosition;
// 绘制矩形
Gizmos.color = Color.green;
Gizmos.DrawWireCube((startPos + endPos) / 2, new Vector3(Mathf.Abs(endPos.x - startPos.x), Mathf.Abs(endPos.y - startPos.y), 0));
}
}
}
```
你可以将这段代码添加到一个空物体上,然后运行游戏,在Scene视图中按住鼠标左键进行绘制。注意,这里绘制的是一个2D的矩形,如果需要在3D空间中绘制矩形,需要对绘制代码进行修改。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)