《cocos2d的常用功能与常用控件.doc》由会员分享,可在线阅读,更多相关《cocos2d的常用功能与常用控件.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CCDirector,主要职责是管理场景和切换场景,游戏暂停等.另外他还负责初始化openes相关的一东西.是一个单例类常用函数runWithScene运行场景replaceScene替换场景getRunningScene获得当前场景getAnimationInterval获取帧间距setAnimationInterval设置帧间距isDisplayFPS是否显示帧率setDisplayFPS设置是否显示帧率,可以再调试阶段使用getWinSize获取窗口大小getWinSizeInPixels获取窗口像素大小drawScene绘制场景所有元素CCScene,场景类,游戏场景一般是指在某个时刻
2、能独立运行的部分,包括可见的怪物,地形和不可见的逻辑脚本等.例如一个游戏的一个特定关卡,游戏菜单,过场动画等都是一个独立的场景.cocos2d中的场景又由不同的层(CCLayer)组成. CCScene是CCNode的子类, 主要作用是一个容器CCNode,节点类,是游戏中最重要,最基础的对象,在cocos2dx中,任何可见的或不可以的游戏逻辑对象都是一个节点,节点有以下特点:a)是一个容器,可以包含任意多个其它节点.b)可以执行一个行为(CCAction)c)可以执行一定时的任务回调d)拥有坐标变换(transform)信息,如postion,scale,rotation等e)由于一个节点可
3、以添加任意个子节点,所有的节点组成一个树状结构,因此父节点的坐标变换会影响子节点在世界坐标系中的坐标,一个节点只能拥有一个父节点常用函数:getScale获取缩放setScale设置缩放addChild添加子节点removeChild删除子节点removeFromParentAndCleanup从父节点移除,同时移除子节点removeChildByTag移除标记节点removeAllChildrenWithCleanup移除所有子节点getChildByTag获得标记节点runAction执行动作stopAction停止动作stopAllActions停止所有动作scheduleUpdate执
4、行update函数,需要重载unscheduleUpdate停止执行update函数schedule(SEL_SCHEDULE selector);执行回调unschedule(SEL_SCHEDULE selector);停止执行回调CCLayer,层类,继承自CCNode类,主要是起到容器和处理案件消息的作用registerWithTouchDispatcher注册事件监听ccTouchBegan按下按键处理回调,需重载ccTouchesMoved移动按键处理回调,需重载ccTouchesEnded弹起按键处理回调,需重载layerWithColorWidthHeight用颜色初始化函数C
5、CMenu 菜单类,主要用于添加按钮,处理案件消息。CCMenu从CClayer派生而来,可以处理输入消息,CCMenu包含多个CCMenuItem对象,在接收到输入消息之后,根据触摸位置,将输入消息分发到相应MenuItem,执行回调函数。CCMenuItem 菜单项的基类,目前cocos2d只从CCMenuItem派生了 CCMenuItemLabel,CCMenuItemSprite,CCMenuToggle三个类.当然也可以派生新的类,实现其它的菜单项,例如 checkbox等.主要函数:menuWithItems:例子:CCMenuItemSprite * timerItem = C
6、CMenuItemSprite:itemFromNormalSprite(CCSprite:spriteWithFile(tomorrowVisit/syyd-ui_07a.png), CCSprite:spriteWithFile(tomorrowVisit/syyd-ui_07a.png);timerTomorrowVisitButton = CCMenu:menuWithItem(timerItem);timerItem-setTarget(this, menu_selector(UserStateLayer:buttonTomorrowVisitAction);CCScheduler
7、类似于定时器,游戏从开始就一直有一个公用的定时器在后台运行,通过CCScheduler:sharedScheduler()可以获取,可用于定时执行某些任务主要函数:scheduleSelector定时执行回调scheduleUpdateForTarget定时执行update函数,需重载unscheduleSelector取消定时执行回调unscheduleUpdateForTarget取消执行update函数unscheduleAllSelectorsForTarget取消目标的所有定时回调unscheduleAllSelectors取消所有定时回调pauseTarget暂停目标的定时回调re
8、sumeTarget恢复目标的定时回调CCSprite:精灵类,主要用于图像的绘制主要函数:spriteWithTexture通过纹理创建精灵spriteWithSpriteFrameName通过已经加载的大图里面的小图名字创建精灵spriteWithFile通过文件创建精灵addChild增加子节点removeChild删除子节点setPosition设置位置setPositionInPixels设置像素位置setRotation设置旋转角度setSkewX设置x轴扭曲setSkewY设置y轴扭曲setScaleX设置x轴缩放setScaleY设置y轴缩放setScale设置等比例缩放set
9、AnchorPoint设置描点setIsVisible设置是否可见setFlipX设置x轴翻转setFlipY设置y轴翻转setContentSizeInPixel设置占用大小例子:CCSprite * textTake = CCSprite:spriteWithFile(tomorrowVisit/ui_icon_19.png);textTake-setPositionInPixels(ccp(16,32);textTake-setAnchorPoint(ccp(0,0);timerOnlineRewardText-addChild(textTake);CCSpriteFrameCache:
10、sharedSpriteFrameCache()-addSpriteFramesWithFile(UIState/UIStateDeNA.plist);CCSprite *sp1 = CCSprite:spriteWithSpriteFrameName(ui_icon_15a.png);CCLabelTTF:文字类,主要用户显示文字常用函数:labelWithString通过char型数字初始化文字setString设置修改文字getString获取文字例子:CCLabelTTF* freeNum = CCLabelTTF:labelWithString(DENA_PRE_FREE_NUM,
11、CCSizeZero, CCTextAlignmentLeft, Marker Felt, 20);CCLabelBMFont:另外一种文字类,类似于图片状文字。主要用于数字字符的显示,一般数字是美工做好的图片,通过特定工具比如bmfont生成.fnt文件。主要函数:labelWithString初始化字串setString设置字串getString获取字串例子:CCLabelBMFont* nNumLable1; nNumLable1 = CCLabelBMFont:labelWithString(0, Font/RedFont1.fnt); nNumLable1-setPosition(c
12、cp(26, 7); numBg1-addChild(nNumLable1);动作:action,CCAction,动作类,CCAtion就好像指派给CCNode的命令一样,在特定时间(或立即)内修改CCNode的属性,例如位置,旋转,缩放等,主要用于动画效果常用的包括:CCSequence:序列CCSpawn:综合CCRotateTo:旋转到CCRotateBy:旋转CCMoveTo:移动到CCMoveBy:移动CCScaleTo:缩放到CCScaleBy:缩放CCFadeIn:淡入CCFadeOut:淡出CCSkewTo:扭曲到CCSkewBy:扭曲CCJumpBy:跳动CCBezierB
13、y:bezier曲线以下是一个例子CCFiniteTimeAction *act1 = CCMoveBy:actionWithDuration(0.8, ccp(0, 56);CCFiniteTimeAction *act2 = CCFadeTo:actionWithDuration(0.8,0);CCFiniteTimeAction *spawnAct = CCSpawn:actions(act1, act2, NULL);iconOnlineRewardFly-runAction(CCSequence:actions(spawnAct,CCCallFunc:actionWithTarget(this, callfunc_selector(UserStateLayer:onlineRewardFlyOver), NULL);Act1表示向上移动56像素,act2表示淡入到0.8的透明度,spawnAct表示两者的综合。此外还有一个序列,表示执行完动画之后执行UserStateLayer:onlineRewardFlyOver函数。
限制150内