CCLabelTTF* label = CCLabelTTF::create("Hi,how are you?","Arial",40); //三个参数为:要显示的字符串、字体、大小设置位置:
label->setPosition(ccp(200,200)); //两个参数:以左下角为原点的两个坐标值场景切换:
CCTransitionSlideInT::create(3.0f,SecondScene::scene()); //从上方滑动下来,两个参数:float t:切换特效动画的播放时间,CCScene *scene:即将要显示的场景类相应的切换动画还有: @H_404_0@CCTransitionJumpZoom:原场景缩小弹出,新场景放大弹入 @H_404_0@CCTransitionProgressRadialCCW:逆时针切换 @H_404_0@CCTransitionProgressHorizontal:水平向右切换 @H_404_0@CCTransitionProgressInOut:从里向外切换 @H_404_0@CCTransitionProgressProgressCrossFade:原场景慢慢消失,新场景同时慢慢出现 @H_404_0@CCTransitionProgressPageForward:翻页,下一页 @H_404_0@CCTransitionFadeTR:方块切换左下角 @H_404_0@CCTransitionFadeUp:从下向上的百叶窗
@H_404_0@CCTransitionTurnOffTiles:方块切换,到处都是 @H_404_0@CCTransitionSplitRows:分离的矩形横向切换 @H_404_0@CCTransitionFade:渐变消失(变黑),渐变出现 @H_404_0@FlipXLeftOver:整体横向翻转,从左往右 @H_404_0@ZoomFlipXLeftOver:整体横向翻转,从左往右,并且根据离视野远近缩放大小 @H_404_0@CCTransitionShrinkGrow:原场景往后方缩小消失,新场景从后方前放到出现 @H_404_0@CCTransitionRotoZoom:原场景螺旋式往后方缩小消失,新场景螺旋式往前方放大出现 @H_404_0@CCTransitionMoveInL:新场景从左向右移入 @H_404_0@CCTransitionSlideInL:新旧场景同时从左向右移动 @H_404_0@CCTransitionJumpZoom:原场景缩小逃走,新场景缩小跳进 @H_404_0@回调函数,相关说明在http://cn.cocos2d-x.org/tutorial/show?id=1832 @H_404_0@这里从介绍的回调函数中选择menu_selector () //菜单选中回调函数 @H_404_0@例:
CCMenuItemImage* pCloseItem = CCMenuItemImage::create( "CloseNormal.png","CloseSelected.png",this,menu_selector(SecondScene::popScene)); pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width-20,20)); //设置按钮的位置,同时调用了popScene函数@H_404_0@创建了函数popScene,用于恢复旧场景:
void SecondScene::popScene(CCObject* pSender){ CCDirector::sharedDirector()->popScene(); }@H_404_0@如上为恢复场景函数popScene()的定义
@H_404_0@推进场景:
CCDirector::sharedDirector()->pushScene(SecondScene::scene());创建层:
CCLayer* layer = CCLayer::create();创建精灵对象:
CCSprite* sprite = CCSprite::create("CloseNormal.png");让所有的菜单项在垂直方向上自动排列
CCMenu* pMenu = CCMenu::create(pCloseItem,pLabelItem,NULL); //创建菜单 pMenu->alignItemsVertically(); //让所有菜单项垂直排列采用了回调函数:
menu_selector(HelloWorld::menuCloseCallback));
Cocos2dx中重要的三个类: @H_404_0@1.CCObject:Cocos2dx引擎的基类,大部分类都继承了它。 @H_404_0@2.CCNode:拥有简单功能的类,特别是update函数的调用。 @H_404_0@3.CCLayer:继承CCNode,拥有多种功能的类,特别是屏幕触摸监听。 @H_404_0@播放背景音乐:
CocosDenshion::SimpleAudioEngine::shareEngine()->playBackgroundMusic("hello.mp3",true); //注意其中hello.mp3应该存放于项目文件夹中的Resource文件夹中播放短音:
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("fight.wav"); //短音如打斗的声音等。九妹,详情参考:http://www.mamicode.com/info-detail-172844.html @H_404_0@使用九妹应该包括cocos-ext.h头文件,应该加上:
#include “cocos-ext.h" using namespace cocos2d:extension;注意需要在项目的属性->配置属性->c/c++->附加包含目录添加 @H_404_0@$(SolutionDIr)extensions和选择你的cocos文件目录,如:D:\cocos2dx\cocos2d-2.1beta3-x-2.1.1\cocos2d-2.1beta3-x-2.1.1\extensions @H_404_0@再从链接器的附加依赖项添加:libExtensions.lib @H_404_0@九妹的使用:
CCScale9Sprite* btnNormal = CCScale9Sprite::create("button.png"); CCScale9Sprite* btnDown = CCScale9Sprite::create("buttonHighLighted.png"); CCLabelTTF *title = CCLabelTTF::create("hello","MarkerFelt",30); CCControlButtton* controlBtn = CCControlButton::create(title,btnNormal); //创建按钮,按钮大小会根据标题自动调整 controlBtn->setBackgroundSpriteForState(btnDowm,CCControlStateSelected); //设置按钮按下时的图片以上按钮其实很小,但由于九妹的存在,能够填充到与title同等大小。 @H_404_0@按钮事件监听举例:
controlBtn->addTargetWithActionForControlEvents( this,cccontrol_selector(HelloWorld::touchDown), CCControlEventTouchDown);其中touchDown函数的实现:
void HelloWorld::touchDown(CCObject* pSender,CCControlEvent event){ <span style="white-space:pre"> </span>CCLOG("touchDown"); //通过调试可以看到每点击一次出现一次"touchDown" }
事件监听举例2:
potentiometer->addTargetWithActionForControlEvents( this,cccontrol_selector(HelloWorld::onValueChange),CCControlEventValueChanged); //bool HelloWorld::init()函数中
void HelloWorld::onValueChange(CCObject* pSender,CCControlEvent event){ CCControlPotentiometer* potentiometer = (CCControlPotentiometer*)pSender; CCString* valueStr = CCString::createWithFormat("%f",potentiometer->getValue()); CCLOG(valueStr->getCString()); }
@H_404_0@这个开关挺不错的,所以记下来了: @H_404_0@
@H_404_0@转动开关: @H_404_0@
@H_404_0@输出了许多值,可以通过获取到的value来实现音量的控制。