【笔记】Cocos2dx学习笔记
自建场景类
- 自建场景类
BaseScene
继承与Scene
类,在init
函数中添加了默认的,键盘与鼠标事件的响应,添加了一个用于读取XML文件的字典,添加了一个结束场景的方法。 - 类的声明代码如下:
#ifndef __BASESCENE_SCENE_H__
#define __BASESCENE_SCENE_H__
#include "cocos2d.h"
#include "mine.h"
class BaseScene : public cocos2d::Scene
{
public:
virtual bool init() override;
static cocos2d::Scene* scene();
CREATE_FUNC(BaseScene);
virtual void menuCloseCallback(cocos2d::Ref* sender);//关闭场景
//检测鼠标键盘某个按键是否按下
bool isMousePressed(cocos2d::EventMouse::MouseButton mouseCode);
bool isKeyPressed(cocos2d::EventKeyboard::KeyCode keyCode);
//键盘按下或弹起事件响应
virtual void onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event);
virtual void onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event);
//鼠标事件响应
virtual void onMouseDown(cocos2d::Event *event);
virtual void onMouseUp(cocos2d::Event *event);
virtual void onMouseMove(cocos2d::Event *event);
virtual void onMouseScroll(cocos2d::Event *event);
protected:
cocos2d::CCDictionary *strings; //加载xml文件用
std::map<cocos2d::EventKeyboard::KeyCode, bool> keys;//保存哪个键盘按键按下
std::map<cocos2d::EventMouse::MouseButton, bool> mouse;//保存哪个鼠标按键按下
cocos2d::Vec2 mousePosition;//保存鼠标位置
int ScrollSpeed;//保存鼠标滚动速度
};
#endif // __BaseScene_SCENE_H__
疑问与学习
- 在打这段代码时我发现有一个宏很奇特:
CC_CALLBACK_1
,点开一看他的展开是这样的#define CC_CALLBACK_1(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, ##__VA_ARGS__)
,问题来了,这个std::bind
是什么?百度了一下,说:bind()函数是用来绑定函数调用的某些参数的。???那么,什么是绑定函数? - bind()是和function()一起用的,不过仔细研究了一下实在看不出这个和普通函数有什么区别,看来,还需要继续理解,学习,有没有人来指点我一二,有什么特别的用法或者好处。
【笔记】Cocos2dx学习笔记的更多相关文章
- cocos2d-x学习笔记(18)--游戏打包(windows平台)
cocos2d-x学习笔记(18)--游戏打包(windows平台) 之前做好的游戏,都是在vs2008下编译执行的.假设说想把游戏公布到网上或者和其它人一起分享游戏,那就得对游戏 ...
- Cocos2d-x学习笔记(十四)CCAutoreleasePool具体解释
原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38964637 前言 之前学了那么多的内容.差点儿全部的控件都要涉及内存 ...
- Cocos2d-x 学习笔记(3.1) Scene 场景与场景切换
1. Scene 简介 游戏中我们看到/看不到的所有元素都是展示在场景之Scene上. 我们可以把场景比作放在地上的没盖纸箱,层Layer是纸箱里堆放的玻璃,Sprite等元素画在玻璃Layer上,这 ...
- Cocos2d-x 学习笔记(19) Control Invocation
[Cocos2d-x 学习笔记 目录链接] 1. 简介 control为其子类提供了touch回调函数,当子类触发EventType相关事件时,会调用相关的回调函数. control对象接收到的事件类 ...
- Cocos2d-x 学习笔记(20) ControlButton
[Cocos2d-x 学习笔记 目录链接] 1. 简介 ControlButton实现了按钮功能,根据触摸的位置和移动的过程可识别9中EventType类型,执行对应的回调函数. 直接继承了Contr ...
- Cocos2d-x 学习笔记(22) TableView
[Cocos2d-x 学习笔记 ]目录 1. 简介 TableView直接继承了ScrollView和ScrollViewDelegate.说明TableView能实现ScrollView拖动cont ...
- Cocos2d-x 学习笔记(25) 渲染 绘制 Render
[Cocos2d-x]学习笔记目录 本文链接:https://www.cnblogs.com/deepcho/p/cocos2dx-render.html 1. 从程序入口到渲染方法 一个Cocos2 ...
- Cocos2d-x学习笔记(三)CCNode分析
原创文章.转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38706483 通过前两份学习笔记,我们不难发现CCScene.CCLa ...
- Cocos2d-x学习笔记(一)HelloWorld
原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38656755 前言 正式来公司实习已有一月,前一月主要是看了<C ...
- Cocos2d-x 学习笔记(26) 从源码学习 DrawCall 的降低方法
[Cocos2d-x]学习笔记目录 本文链接:https://www.cnblogs.com/deepcho/cocos2dx-drawcall-glcalls 1. 屏幕左下角 我们通常在Cocos ...
随机推荐
- 关于0x3f3f3f3f
发现有人把无穷大设成0x3f3f3f3f,好像还真不是随便设的. 0x3f3f3f3f比10^9大一点,比一般数据范围大: 乘2之后比2147483467小,满足正无穷加正无穷还是正无穷: 每个字节都 ...
- [ssh] 通过ssh私钥生成公钥的方法
ssh-keygen -y -f .ssh/id_rsa.key id_rsa.key是私钥.
- odoo中self的使用
一:self是什么 目前新版的Odoo中使用到的self,是对 游标cr.用户ID.模型.上下文.记录集.缓存 的封装. 我们可以通过 self.XX 获取到这些封装的东西,比如:self.cr. ...
- HTML轮播图实现(前后端分离)
1,首先前后端分离用到了3个插件 2,异步请求后端获取数据库图片地址(图片名字) //图片轮播 axios({ url:'http://127.0.0.1:8000/userctrl/image', ...
- 从光盘安装ubuntu系统
参考博客: https://www.jianshu.com/p/7929e4911206
- Oracle启动关闭
启动: [oracle@oracleSigle ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov ...
- ios dispatch_async使用
一般这样使用: dispatch_async(dispatch_get_global_queue(0, 0),^{ //进入另一个线程 dispatch_async(dispatch_get_main ...
- Linux之SSH免密登录
实验方法: 开启两台虚拟机A和B,IP地址分别为192.168.222.12.192.168.222.10 在虚拟机A下做如下操作,生成公钥和密钥: [root@localhost ~]# ssh-k ...
- node.js (01http 模块 url 模块)
// 引入 http 模块-->Node.js 中的很多功能都是通过模块实现. var http = require('http'); // http.createServer() 方法创建服务 ...
- ASP.NET页面之间传值的方式之Session(个人整理)
Session Session在ASP.NET中,表示客户端(Goggle,Firefox,IE等)与服务器端的会话,用来存储特定会话信息,准确来说,是用来存储特定用户信息.当客户端向服务器发送一个请 ...