前言:
前面的文章实现的人物的移动
鼠标点击和键盘按压都是按一下走一下
本篇文章就是实现键盘的按住事件 只要键盘在按压状态人物就一直移动
效果图:
实现的思路就是
先要监听 键盘事件 看有没有按压到我们想要的按键
然后要判断有没有一直按压 如果进入了release事件就说明松手了
我们先写个map 来存放按键的状态是不是按压中
std::map<cocos2d::EventKeyboard::KeyCode, bool> keyMap;
两个键盘监听事件 lamda表达式
当keypressed时 把map中的key 设置为true
当 released 的时候设置为false 来记录是否有按压
因为向上跳不能一直按住让他跳 所以正常的写到触发键盘事件就可以
然后重写 update 函数
void update(float delta);
进来update 先判断有没有被按压 直接判断map中对应的key 的值
添加 调度器
this->scheduleUpdate(); //这样每一帧都会进入 update 函数 我们在里面判断键盘有没有被按压住
这样就实现了 键盘按压人物连续移动的效果了
结尾:
我准备在后面实现 无限滚屏的效果 类似2d横版跑酷的效果
我也是自学的 有错误请大家指正
谢谢大家的点赞与关注