摘要:
UserDefault可以实现数据的存储,但是它的使用不能泛滥,具体讲一般情况下不会使用它保存大量的数据,它没有SQL语句那样的灵活。UserDefault除了保存游戏设置外,还有可以长期保持游戏精灵等对象的状态。我们通过一个实例介绍一下在游戏项目中如何使用UserDefault。如图所示,在Set... 阅读全文
摘要:
__Dictionary类在Cocos2d-x2.x时代它就是CCDictionary类,它是模仿Objective-C中的NSDictionary类而设计的,通过引用计数管理内存。__Dictionary继承于Ref类,因此它所能容纳的是Ref及子类所创建的对象指针。1、创建__Dictionar... 阅读全文
摘要:
Vector是Cocos2d-x3.x推出的列表容器,因此它所能容纳的是Ref及子类所创建的对象指针,其中的T是模板,表示能够放入到容器中的类型,在Cocos2d-x3.x中T表示Ref类。Vector是模仿C++的std::vector模板类而设计的。在内存管理方面不使用__Array的引用计数,... 阅读全文
摘要:
__Array类在Cocos2d-x 2.x时代它就是CCArray类。它是模仿Objective-C中的NSArray类而设计的,通过引用计数管理内存。__Array继承于Ref类,因此它所能容纳的是Ref及子类所创建的对象指针。1、创建__Array对象创建__Array对象有很多函数,下面是总... 阅读全文
摘要:
下面我们将使用Box2D物理引擎技术进行重构。使得关节能够掌握如何在Box2D使用关节约束。HelloWorldScene.cpp中与使用关节的相关代码如下:[html]view plaincopyvoidHelloWorld::addNewSpriteAtPosition(Vec2p){log("... 阅读全文
摘要:
在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact(b2Contact* contact)。两个物体开始接触时会响应,但只调用一次。virtual v... 阅读全文
摘要:
我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用Box2D物理引擎的开发过程,熟悉这些API的使用。这个实例运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触摸点生成一个新的精灵,精灵的运行自由落体运动。HelloBox2D实例使用Box2D引擎进行开发过程... 阅读全文
摘要:
Cocos2d-x 3.x默认情况下采用的物理引擎是Chipmunk,如果我们要使用Box2D引擎,需要进行一些设置和调整,而且不同的开发平台下这些设置也有所不同。由于本书在此之前介绍的都是基于微软的Visual Studio 2012下开发的Win32平台,所以这一节我们介绍Visual Stud... 阅读全文