1.CEGUI中的连击设置
所谓连击,即在一个窗口上面按下鼠标左键(其他鼠标按键也可以)不放,该窗口就一直收到鼠标按键按下的消息。这个功能通过Window::setMouseAutoRepeatEnable打开,Window::setAutoRepeatRate设置连发间隔时间(rate应该是频率啊,怎么叫这个名字,还是我英语有问题),Window::setAutoRepeatDelay设置按下按键多长时间之后,连击开始。
实现比较简单,处理涉及上来提到的函数外,还涉及Window::OnMouseButtonDown/Up和Window::UpdateSelf。
有一个比较奇怪的地方是,如果连击功能开启,那么在Window::OnMouseButtonDown/Up中会capture/releaseInput,我把相应代码删了,连击功能运行没有问题。我想作者之所以这么做,可能是从逻辑上说的,因为连击应该等价于使用者在不断点击,既然是不断点击,那么被点击的控件就应该一直处于captuerInput状态。