如何引发拖动事件

在游戏或者其他应用开发中,拖动一个比较常规的操作,一般与单击、双击等一起当做一个单独的动作。拖动操作的检测相对于单双击稍微复杂一点,会贯穿游戏的多个循环周期。

首先要检测拖动事件的发生:当首次检测到鼠标(广义,下同)按下时,就意味着拖动事件的可能发生。那接下来如何界定拖动事件的发生呢?如果接下来处于按下状态,且发生了移动操作,当移动操作突破了一个设定的阙值时,定义拖动事件发生了。这儿阙值设定很重要,如果过小的话,会与双击操作产生冲突,因为一般双击事件通常也伴随着鼠标的轻微移动。一般设定为x轴或者y轴移动超过5个像素。

拖动事件发生后,就要持续处理鼠标移动事件,比如物体要跟随鼠标移动等

最后检查鼠标的释放操作,完成拖动事件。比如目标位置可以接受拖动操作,则做相应处理,否则被拖动的物体回到拖动的初始位置。

posted @ 2014-02-20 11:10  qzzlw  阅读(196)  评论(0编辑  收藏  举报