首页 > 代码库 > cocos2d-x API风格
cocos2d-x API风格
1、在Cocos2d-x引擎中,除了单例模式,每一个cocos2d类都有自己的static Class* Class::create(...)方法。极力推荐这一方法。代码样本:
Sprite* monster = Sprite::create("Monster.png"); monster->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); this->addChild(monster);
2、doSomething()
这是最常见的函数名,在Cocos2d-x/-html5引擎中处处都有应用到。第一个字是一个动词,第二个字是一个名词。比如:replaceScene(CCScene*) 和 getTexture()。
3、doWithResource()
它是doSomething()方法的变体。在initWithTexture(CCTexture*) 和 initWithFilename(const std::string&)中,你经常可以看见这一函数名。
4、onEventCallback()
当你看到类似void onEnter()的函数名时,onAction类型表明这是一个回调函数。当引发一定条件时,其他类将调用这一方法。
5、在Cocos2d-x引擎中,如果你没有发现create(),只发现了getInstance()方法,它就属于单例模式类。比如,TextureCache::getInstance()。单例类对应的析构方式是destroyInstance()。
6、Cocos2d-x引擎中使用了许多getter和setters改变属性的值。这通常会影响到对象的行为。比如 _sprite->setPosition(ccp(0,0)) 会将精灵移动到左下角。根据性能优化,在此返回CCSize引用,而不是构建另一个CCSize。当改变这一CCSize&时,该对象的内部成员变量将会受到影响,所以这一CCSize&属于常量。
如果属性为“只读”,将不会有setProperty(type)方法;
如果属性为一个bool值,将会有setProperty(bool)及 isProperty()方法。 比如:Sprite::isDirty()和Sprite::setDirty(bool bDirty)。
如果属性不是一个bool值,将会有 setProperty(type) 和 getProperty() 方法。比如: void Sprite::setTexture(Texture2D*) 和 Texture2D* CCSprite::getTexture()。