BoomingTech / Piccolo

Piccolo (formerly Pilot) – mini game engine for games104
MIT License
5.93k stars 1.83k forks source link

移除了onCursorPos函数中对m_mouse_x和 m_mouse_y的判断 #371

Open sorvon opened 2 years ago

sorvon commented 2 years ago

这里if (m_mouse_x >= 0.0f && m_mouse_y >= 0.0f)的限制会导致在editor_mode下使用右键旋转相机时,鼠标向左(或向上)移动一定距离后就无法继续向左(或向上)旋转相机了。

sorvon commented 2 years ago

直接移除鼠标操作限制,会引入鼠标在界面外操作引起的意外情况出现。且仍然无法满足无限旋转的需求(鼠标位置仍然受屏幕限制)。想要实现无限旋转,可以考虑记录每帧的位移delta,把鼠标固定在某一位置

zDagwood commented 2 years ago

直接移除鼠标操作限制,会引入鼠标在界面外操作引起的意外情况出现。且仍然无法满足无限旋转的需求(鼠标位置仍然受屏幕限制)。想要实现无限旋转,可以考虑记录每帧的位移delta,把鼠标固定在某一位置

  • 左右不受限制了吧?上下是因为锁了相机角度。
  • 鼠标在界面外操作引起的意外情况具体有哪些?

.左右仍然受屏幕大小限制 .比如意外的响应了其他界面或者应用的MouseMove或者MouseUp事件