当鼠标一直处于按下状态时,应该如何检测?从而决定是否执行某个动画.
按下时,将按键状态设置为按下,然后在update里判断,这样如果有组合键,也可以判断
1赞
这需要时刻记录鼠标是否处于点击状态,因此在头文件中需要以下这行代码:
std::map<cocos2d::EventKeyboard::KeyCode, bool> keys;
但这个是用于键盘按键记录的,并非是鼠标的点击记录,
如果要用记录鼠标的点击记录应该如何修改?
onTouchBegan
onTouchBegan是手机单点触摸函数,并不是鼠标事件的相关函数,
如何用map来存放鼠标是否处于 onMouseDown或onMouseUp状态,因此需要对以下这行代码进行修改,如何修改:
std::map<cocos2d::EventKeyboard::KeyCode, bool> keys;
键盘输入事件EventKeyboard、点击事件EventTouch、鼠标事件EventMouse在电脑端上这些都是在CCGLViewImpl-desktop.cpp派发的。
看源码你就会知道EventTouch和EventMouse事件大同小异,都是在onGLFWMouseMoveCallBack 一个函数里一同处理的。
你的问题很简单同时监听注册EventListenerKeyboard和EventListenerMouse处理下就完事了。
在头文件中修改如下:
std::map<cocos2d::EventKeyboard::KeyCode, bool> keys;
std::map<cocos2d::EventMouse::Event, bool> mouse;
然后在update函数中为键盘的方向键和鼠标的左键赋值,
键盘方向键的左键赋值如下:
auto leftArrow = EventKeyboard::KeyCode::KEY_LEFT_ARROW,
鼠标左键不知道该如何赋值:
auto leftMouse=EventMouse::Event::
鼠标左键代码后面应该跟上什么?如何修改?