cocos2d-x笔记(1)

一、接口文档生词

1.reimplemented重载实现

二阅读资料笔记

1.动作可以应用在任何节点上,动画只能应用在精灵上。

2.所有动作都是继承于CCAction派生出的持续性动作CCActionInterval或者瞬时动作CCActionInstant。

3.在Cocos2d-x中,我们可以使用多个帧创建帧动画序列(CCAnimation),并用帧动画序列创建可作用于精灵的帧动画(CCAnimate)。

4.流程控制:场景是相对不变的游戏元素集合,游戏在场景间的切换就是流程控制。

5.场景、层和精灵:他们是不同层次的游戏元素。通常,场景包含层,层包含精灵,场景与层是其他游戏元素的容器,而精灵是战士给玩家的图形。

6.节点和渲染树:一切可以显示的游戏元素都是渲染树的节点。Cocos2d-x通过遍历渲染树绘制游戏画面。场景、层和精灵作为渲染树的节点,Cocos没有对它们的层次做硬性限制,例如开发者可以想精灵中添加层。

7.动作:作用于游戏元素,规定了游戏元素的运动方式。特别注意的是,帧动画是作用于精灵的一种特殊动作。

8.使用初始化方法或工厂方法创建对象,使用访问器方法模拟属性。

9.Cocos2d-x为我们提供了很好的容器CCArry和CCDictionary。应该尽可能的使用已经封装好的容器。

10.内存管理:Cocos2d-x使用了引用计数的内存管理机制,同事提供半自动的对象自动回收池。

11.CCLOG:Cocos2d-x提供的日志输出函数。

12.场景CCScene类,只是单纯继承节点CCNode类,重载init()方法。代码如下:

bool CCScene::init()
{
    bool bRet = false;
     do 
     {
         CCDirector * pDirector;
         CC_BREAK_IF( ! (pDirector = CCDirector::sharedDirector()) );
         this->setContentSize(pDirector->getWinSize());
         // success
         bRet = true;
     } while (0);
     return bRet;
}
13.层CCLayer类,不仅继承了节点CCNode类,还加了触摸,加速度,键盘输入等功能,继承如下代码:

class CC_DLL CCLayer : public CCNode, public CCTouchDelegate, public CCAccelerometerDelegate, public CCKeypadDelegate
                                             //触摸                 //加速器Accelerometer            //键盘输入等       

12.节点CCNode类,一些属性:

(1)CCSize ContetSize:获取或设置此节点的大小。对于精灵来说,ContentSize是他的纹理大小。对于层或场景等全屏的大型节点来说,ContentSize则是屏幕大小。

(2)CCPoint AnchorPoint与Position:AnchorPoint用于设置一个锚点,以便于精确的控制节点的位置和变换。Position用于设置节点的位置。

(3)float Rotation:获取或设置节点的旋转角度。节点以自己的锚点为中心顺时针旋转一定量,单位是角度。旋转角度可以是任意实数。

(4)bool Visible:获取或设置节点的可见性,当该属性为true时,节点显示,反之节点不会被显示。在节点不被显示的时候,也不会被调用绘图方法(visit()方法与draw()方法)。这个属性与众不同的是,它的防卫器没有遵循属性的命名规范。代码如下:

bool isVisible();    void setVisible(bool visible);

(5)float SkewX与SkewY:获取或设置斜切角度。节点以锚点为中心,平行x轴或y轴方向一定角度的变形。SkewX为平行x轴顺时针的变性,SkewY为平行y轴逆时针的变形,单位为角度。SkewX与SkewY默认值为0。

(6)int Tag:获取或设置节点的标号。在Cocos2d-x中,Tag的作用类似于标识符,以便快速的从节点的所有节点中找出所需节点。Tag可以用于定位子节点,因此添加到同一节点的所有CCNode之中,不能有两个Tag相同。相关代码:

CCNode * getChildByTag(int tag);
 virtual void removeChild(CCNode* child, bool cleanup);
virtual void removeChildByTag(int tag);
virtual void removeChildByTag(int tag, bool cleanup);

(7)void* UserData:获取或设置与节点相关的额外信息。UserData为void*类型,可以利用这个属性保存任何数据。


备用,也希望能帮助到大家。(不定时更新)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值