فهرست منبع

鼠标绘制矩形

usuiforhe 4 سال پیش
والد
کامیت
3cb75a65d8
3فایلهای تغییر یافته به همراه18 افزوده شده و 1 حذف شده
  1. BIN
      gif/UE_Asset11.gif
  2. BIN
      img/UE_Asset116.png
  3. 18 1
      虚幻.md

BIN
gif/UE_Asset11.gif


BIN
img/UE_Asset116.png


+ 18 - 1
虚幻.md

@@ -1,7 +1,7 @@
 <!--
  * @Author: lc
  * @Date: 2021-09-03 21:41:18
- * @LastEditTime: 2021-09-18 18:00:53
+ * @LastEditTime: 2021-09-18 19:07:36
  * @LastEditors: Please set LastEditors
  * @Description: 虚幻学习
  * @FilePath: D:\Projects\markdown\虚幻.md
@@ -1329,3 +1329,20 @@ HUD默认自身是不接受键盘输入事件的,本身HUD就不应直接响
 
 另外还有两个工具库函数`Project World to Screen`和`Project Screen to Wolrd`  
 
+- **鼠标绘制矩形**
+
+![坐标转换](img/UE_Asset116.png)
+
+![效果](gif/UE_Asset11.gif)
+
+> 用IsDraw表示当前鼠标是按下还是释放,记录按下位置和当前位置绘制矩形,释放不再绘制  
+> 用ClickPos这个Vector2D变量存储鼠标按下的坐标  
+
+---
+
+- **框选场景目标**
+
+将场景对象的三维坐标转换成UI的二维坐标,再判断是否在框选的矩形范围内即可  
+
+这里要使用的是`Project World to Screen`和`Project Screen to Wolrd`坐标转换函数,因为这里的判断明显不在`Receive Draw HUD`中,所以不能使用`Deproject`和`Project`  
+