Cocos2dx学习总结一

Cocos2dx学习总结一,第1张

概述标签创建,即一段字符串的显示: CCLabelTTF* label = CCLabelTTF::create("Hi,how are you?","Arial",40); //三个参数为:要显示的字符串、字体、大小设置位置: label->setPosition(ccp(200,200)); //两个参数:以左下角为原点的两个坐标值场景切换: CCTransitionSlideInT::c

标签创建,即一段字符串的显示:

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:即将要显示的场景类
相应的切换动画还有:

CCTransitionJumpZoom:原场景缩小d出,新场景放大d入

CCTransitionProgressRadialccw:逆时针切换

CCTransitionProgressHorizontal:水平向右切换

CCTransitionProgressInOut:从里向外切换

CCTransitionProgressprogressCrossFade:原场景慢慢消失,新场景同时慢慢出现

CCTransitionProgresspageForward:翻页,下一页

CCTransitionFadeTR:方块切换左下角

CCTransitionFadeUp:从下向上的百叶窗

CCTransitionTurnOffTiles:方块切换,到处都是

CCTransitionSplitRows:分离的矩形横向切换

CCTransitionFade:渐变消失(变黑),渐变出现

FlipXleftOver:整体横向翻转,从左往右

ZoomFlipXleftOver:整体横向翻转,从左往右,并且根据离视野远近缩放大小

CCTransitionShrinkGrow:原场景往后方缩小消失,新场景从后方前放到出现

CCTransitionRotoZoom:原场景螺旋式往后方缩小消失,新场景螺旋式往前方放大出现

CCTransitionMoveInL:新场景从左向右移入

CCTransitionSlIDeInL:新旧场景同时从左向右移动

CCTransitionJumpZoom:原场景缩小逃走,新场景缩小跳进

回调函数,相关说明在http://cn.cocos2d-x.org/tutorial/show?ID=1832

这里从介绍的回调函数中选择menu_selector () //菜单选中回调函数

例:

CcmenuItemImage* pCloseItem = CcmenuItemImage::create("Closenormal.png","CloseSelected.png",this,menu_selector(SecondScene::popScene));pCloseItem->setposition(ccp(CCDirector::sharedDirector()->getWinSize().wIDth-20,20));  //设置按钮的位置,同时调用了popScene函数

创建了函数popScene,用于恢复旧场景:

voID SecondScene::popScene(CCObject* pSender){CCDirector::sharedDirector()->popScene();}

如上为恢复场景函数popScene()的定义

推进场景:

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中重要的三个类:

1.CCObject:Cocos2dx引擎的基类,大部分类都继承了它。

2.CCNode:拥有简单功能的类,特别是update函数的调用。

3.cclayer:继承CCNode,拥有多种功能的类,特别是屏幕触摸监听。

播放背景音乐:

CocosDenshion::SimpleAudioEngine::shareEngine()->playBackgroundMusic("hello.mp3",true);  //注意其中hello.mp3应该存放于项目文件夹中的Resource文件夹中
播放短音:
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("fight.wav");    //短音如打斗的声音等。
九妹,详情参考:http://www.mamicode.com/info-detail-172844.HTML

使用九妹应该包括cocos-ext.h头文件,应该加上:

#include “cocos-ext.h"using namespace cocos2d:extension;
注意需要在项目的属性->配置属性->c/c++->附加包含目录添加

$(SolutionDIr)extensions和选择你的cocos文件目录,如:D:\cocos2dx\cocos2d-2.1beta3-x-2.1.1\cocos2d-2.1beta3-x-2.1.1\extensions

再从链接器的附加依赖项添加:libExtensions.lib

九妹的使用:

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同等大小。

按钮事件监听举例:

controlBtn->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::touchDown),CCControlEventtouchDown);
其中touchDown函数的实现:
voID HelloWorld::touchDown(CCObject* pSender,CCControlEvent event){<span >	</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());}

这个开关挺不错的,所以记下来了:


转动开关:


输出了许多值,可以通过获取到的value来实现音量的控制。

总结

以上是内存溢出为你收集整理的Cocos2dx学习总结一全部内容,希望文章能够帮你解决Cocos2dx学习总结一所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1070272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存