【笔记】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 ...
随机推荐
- 类似于Mimikatz的Linux Hash Dump工具
项目主页 https://github.com/huntergregal/mimipenguin 需要root权限 支持 Kali 4.3.0 (rolling) x64 (gdm3) Ubuntu ...
- 16 css实现模糊背景
--------------------- 本文来自 csu_zipple 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/csu_passer/article/det ...
- elk-(七)
最终架构确定为 logs--->blieb--->redis/kafka--->logstash--->es--->kibana 注意: geoip下载地址: wge ...
- VUEX新笔记
$store.commit('abc'),const mutations={abc:(state)=>{ state.flag='mutations' }} 多个mutations时用到dist ...
- python_str 字符串的所有方法
# _Author:huang# date: 2017/11/28 # 字符串 '''print("hello" * 3)print("hello world" ...
- C++标准模板库之vector
vector(向量容器),是 C++ 中十分有用一个容器.它能够像容器一样存放各种类型的对象,vector 是一个能够存放任意类型(类型可以是int, double, string, 还可以是类)的动 ...
- Golang数据类型总结及其转换
golang数据类型 基本类型:boolean,numeric,string类型的命名实例是预先声明的. 复合类型:array,struct,指针,function,interface,slice,m ...
- Angular2 File Upload
Angular2 File Upload Install Install the components npm install ng2-file-upload --save github: https ...
- 经典的PHPer为什么被认为是草根?
PHPer是草根吗? 从PHP诞生之日起,PHP就开始在Web应用方面为广大的程序员服务.同时,作为针对Web开发量身定制的脚本语言,PHP一直秉承简单.开源的思想,这也使得PHP得以快速的发展,并且 ...
- Window丢失api-ms-win-crt-runtime-l1-1-0.dll
一.现象api-ms-win-crt-runtime-l1-1-0.dll 丢失 二.第一种方案,缺什么补什么http://download.csdn.net/download/su749520/10 ...