Advertisement

用鼠标控制物体旋转的关键点总结

阅读量:

在开发阶段,实现鼠标控制物体旋转功能后,发现存在一些小问题。由于物体需要完成720度的旋转操作,必须同时使用“Mouse X”和“Mouse Y”两个参数进行控制。为了提升旋转效果的流畅性,采用了Rotate函数来实现该功能。然而,随之而来的问题是,Rotate作为持续旋转的函数,在执行过程中会导致物体在鼠标未移动时或移动时持续发生自转现象,从而产生异常效果。针对这一小问题的解决思路如下:
当用户拖动鼠标时触发物体旋转操作;而当鼠标位置保持不变时,则不执行旋转功能。换句话说,在鼠标被按下后,需增加一层判断逻辑,用以检测当前鼠标位置是否发生变化。若位置发生改变,则表明正在进行物体旋转;反之,则表示用户正在观察当前视角下的物体。基于上述思路所编写的完整代码如下:

复制代码
>       1.  
>  
>       2.     Vector3 v3;
>  
>       3.     bool isRotate;
>  
>       4.     Vector2 beforMousePos;
>  
>       5.     Vector2 currentMousePos;
>  
>       6.  
>  
>       7.     public void Start()
>  
>       8.     {
>  
>       9.    

全部评论 (0)

还没有任何评论哟~