cocos2d-x 键盘按住事件 实现人物的连续移动

前言:

前面的文章实现的人物的移动
鼠标点击和键盘按压都是按一下走一下
本篇文章就是实现键盘的按住事件 只要键盘在按压状态人物就一直移动

效果图:

在这里插入图片描述

实现的思路就是
先要监听 键盘事件 看有没有按压到我们想要的按键
然后要判断有没有一直按压 如果进入了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横版跑酷的效果
我也是自学的 有错误请大家指正
谢谢大家的点赞与关注

发布了171 篇原创文章 · 获赞 386 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_42837024/article/details/102970697
今日推荐