Cocos2d-x学习笔记(3)
Cocos2d-x有一个包含所有其他头文件的cocos2d.h,只要在使用时包含这个头文件,就可以使用引擎的全部功能。Cocos2d-x的类都放置于cocos2d的命名空间下,如引擎下的“actions/CCAction.h”中在文件首尾使用NC_CC_BEGIN和NS_CC_END来将所有类型包含在cocos2d命
Cocos2d-x有一个包含所有其他头文件的cocos2d.h,只要在使用时包含这个头文件,就可以使用引擎的全部功能。Cocos2d-x的类都放置于cocos2d的命名空间下,如引擎下的“actions/CCAction.h”中在文件首尾使用NC_CC_BEGIN和NS_CC_END来将所有类型包含在cocos2d命名空间下。在游戏中使用#define USING_NS_CC using namespace cocos2d定义的宏USING_NS_CC来说明命名空间。
1、构造函数与初始化
Cocos2d-x不使用传统的值类型,所有的对象都创建在堆上,然后通过指针引用,创建Cocos2d-x对象主要有两种方法:(1)使用new创造未初始化的对象,然后调用init系列方法来初始化。(2)使用静态的工厂方法直接创建一个对象。
第一种方法:
(1)使用new操作符调用构造函数,创建一个没有初始化的空对象
(2)选择合适的初始化方法,并调用它来初始化对象
Cocos2d-x的初始化方法都以init()作为前缀,返回一个bool值,代表是否成功。例如:
CCSprite* sprite1 = new CCSprite();
sprite1->initWithFile(“HelloWorld.png”);
CCSprite共提供8个初始化方法。
第二种方法
(1)静态工程方法是类提供的静态函数,只要提供必要的参数,就会返回一个完成了初始化的对象,通常init系列的初始化方法都会有对应的工厂方法。例如:
CCSprite* sprite2 = CCSprite::spriteWithFile(“HelloWorld.png”);//Cocos2d-x 2.0以前版本中的方法
CCSprite* sprite3 = CCSprite::create(“HelloWorld.png”);///Cocos2d-x 2.0之后版本中的方法
2、选择器
选择器是类似于C++中的类函数指针的机制,下面是Cocos2d-x提供的创建选择器语法的宏,用来创建函数指针,这些宏只有一个参数SELECTOR,表示被指向的类方法
schedule_selector(SELECTOR)
callfunc_selector(SELECTOR)
callfuncN_selector(SELECTOR)
callfuncND_selector(SELECTOR)
menu_selector(SELECTOR)
event_selector(SELECTOR)
compare_selector(SELECTOR)
3、属性:Cocos2d-x规定了属性访问器的方法名称以get或set为前缀,后接属性名,如CCNode中节点标记属性Tag属性,访问器分别为getTag()和setTag(int aTag)其原理如下:
int tag; int getTag() {return tag;} void setTag() {tag = aTag;}
宏 | 描述 |
CC_PROPERTY | 定义一个属性及其访问器,没有实现,常用于简单的值类型 |
CC_PROPERTY_READONLY | 定义一个属性,只包含get访问器,没有实现 |
CC_PROPERTY_PASS_BY_REF | 定义一个属性,访问器使用引用类型传递参数,没有实现,通常用于结构体 |
CC_PROPERTY_READONLY_PASS_BY_REF | 定义一个属性,只包含get访问器,且使用引用类型传递参数,没有实现。 |
CC_SYNTHESIZE | 同CC_PROPERTY,实现了访问器方法 |
CC_SYNTHESIZE_READONLY | 同CC_PROPERTY_READONLY,实现了访问器方法 |
CC_SYNTHESIZE_READONLY_PASS_BY_REF | 同CC_PROPERTY_READONLY_PASS_BY_REF,实现了访问器方法 |
CC_SYNTHESIZE_PASS_BY_REF | 同CC_PROPERTY_PASS_BY_REF,实现了访问器方法 |
CC_SYNTHESIZE_RETAIN | 同CC_PROPERTY,实现了访问器方法。用于派生自CCObject的类型, 访问器采用Cocos2d-x的内存管理机制自动维护对象的引用计数。 |
4、单例:Cocos2d-x的流程控制器CCDirector是一个独一无二的控制器,用于切换游戏的场景。这种情况下使用单例的技巧。如下代码:
static CCDisplayLinkDirector s_SharedDirector; CCDirector* CCDirector::sharedDirector(void) { static bool s_bFirstUseDirector = true; if(s_bFirstUseDirector) { s_bFirstUseDirector = false; s_bFirstUseDirector.init(); } return &s_SharedDirector; }
CCDirector::sharedDirector()->replaceScene(newScene);

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

小红书笔记怎么删除?在小红书APP中是可以编辑笔记的,多数的用户不知道小红书笔记如何的删除,接下来就是小编为用户带来的小红书笔记删除方法图文教程,感兴趣的用户快来一起看看吧!小红书使用教程小红书笔记怎么删除1、首先打开小红书APP进入到主页面,选择右下角【我】进入到专区;2、之后在我的专区,点击下图所示的笔记页面,选择要删除的笔记;3、进入到笔记页面,右上角【三个点】;4、最后下方会展开功能栏,点击【删除】即可完成。

不再需要pip?快来学习如何有效卸载pip!引言:pip是Python的包管理工具之一,它可以方便地安装、升级和卸载Python包。然而,有时候我们可能需要卸载pip,可能是因为我们希望使用其他的包管理工具,或者因为我们需要完全清除Python环境。本文将介绍如何有效地卸载pip,并提供具体的代码示例。一、卸载pip的方法下面将介绍两种常见的卸载pip的方法

作为一名小红书的用户,我们都曾遇到过发布过的笔记突然不见了的情况,这无疑让人感到困惑和担忧。在这种情况下,我们该怎么办呢?本文将围绕“小红书发布过的笔记不见了怎么办”这一主题,为你详细解答。一、小红书发布过的笔记不见了怎么办?首先,不要惊慌。如果你发现笔记不见了,保持冷静是关键,不要慌张。这可能是由于平台系统故障或操作失误引起的。检查发布记录很简单。只需打开小红书App,点击“我”→“发布”→“所有发布”,就可以查看自己的发布记录。在这里,你可以轻松找到之前发布的笔记。3.重新发布。如果找到了之

小红书怎么在笔记中添加商品链接?在小红书这款app中用户不仅可以浏览各种内容还可以进行购物,所以这款app中关于购物推荐、好物分享的内容是非常多的,如果小伙伴在这款app也是一个达人的话,也可以分享一些购物经验,找到商家进行合作,在笔记中添加连接之类的,很多人都愿意使用这款app购物,因为不仅方便,而且有很多达人会进行一些推荐,可以一边浏览有趣内容,一边看看有没有适合自己的衣服商品。一起看看如何在笔记中添加商品链接吧!小红书笔记添加商品链接方法 在手机桌面上打开app。 在app首页点击

深入学习matplotlib颜色表,需要具体代码示例一、引言matplotlib是一个功能强大的Python绘图库,它提供了丰富的绘图函数和工具,可以用于创建各种类型的图表。而颜色表(colormap)是matplotlib中一个重要的概念,它决定了图表的配色方案。深入学习matplotlib颜色表,将帮助我们更好地掌握matplotlib的绘图功能,使绘

学习C语言的魅力:解锁程序员的潜力随着科技的不断发展,计算机编程已经成为了一个备受关注的领域。在众多编程语言中,C语言一直以来都备受程序员的喜爱。它的简单、高效以及广泛应用的特点,使得学习C语言成为了许多人进入编程领域的第一步。本文将讨论学习C语言的魅力,以及如何通过学习C语言来解锁程序员的潜力。首先,学习C语言的魅力在于其简洁性。相比其他编程语言而言,C语

从零开始学习Pygame:完整的安装和配置教程,需要具体代码示例引言:Pygame是一个使用Python编程语言开发的开源游戏开发库,它提供了丰富的功能和工具,使得开发者可以轻松创建各种类型的游戏。本文将带您从零开始学习Pygame,并提供完整的安装和配置教程,以及具体的代码示例,让您快速入门。第一部分:安装Python和Pygame首先,确保您的计算机上已

在word中编辑文字内容时,有时会需要输入公式符号。有的小伙们不知道在word根号输入的方法,小面就让小编跟小伙伴们一起分享下word根号输入的方法教程。希望对小伙伴们有所帮助。首先,打开电脑上的Word软件,然后打开要编辑的文件,并将光标移动到需要插入根号的位置,参考下方的图片示例。2.选择【插入】,再选择符号里的【公式】。如下方的图片红色圈中部分内容所示:3.接着选择下方的【插入新公式】。如下方的图片红色圈中部分内容所示:4.选择【根式】,再选择合适的根号。如下方的图片红色圈中部分内容所示:
