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

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:原场景缩小弹出,新场景放大弹入

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 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());
}

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


转动开关:


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

Cocos2dx学习总结一的更多相关文章

  1. 详解使用postMessage解决iframe跨域通信问题

    这篇文章主要介绍了详解使用postMessage解决iframe跨域通信问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. swift开发笔记9 - 正向和反向页面传参

    在storyboa里segue是这样的:首先看考勤页面(主页面)如何给备注页面传参:在考勤页面(主页面)的viewcontroller中找到prepareForSegue方法,这个方法由xcode自动生成,用于在使用segue跳转前,做一些处理动作:实际上是通过修改segue的目标页面的某个类属性,从而达到传参的目的。

  3. [快速学会Swift第三方库] Kingfisher篇

    [快速学会Swift第三方库]Kingfisher篇Kingfisher是一个轻量的下载和缓存网络图片库。也可以利用kf_setimageWithURL函数的返回值来进行更多的管理操作下载器自定义下载器参数缓存系统自定义缓存参数预取将一些图片在显示到屏幕上之前,先预取到缓存。动态图片加载动态图片只需要加上一行代码,设置imageView为AnimatedImageView,不设置也能加载,但是在动态图片较大的时候推荐进行该设置。深入学习这里列出了Kingfisher大多数操作,如果想要深入学习Kingfi

  4. swift - 回调

    回调函数B不由该函数的实现方A直接调用,而是在特定的事件或条件发生时由另外的一方C调用,用于对该事件或条件进行响应。在swift中有同步和异步两种形式的回调函数:同步回调函数异回调函数步C调用方法B,B可以是函数或者closureC调用函数B并使B在另一线程上运行B返回之前C处理block状态B和C运行在不同的线程,不会互相block。

  5. 6.3 Swift闭包表达式作为回调函数

    /**闭包表达式作为回调函数*//**上节课中呢,说了闭包表达式的语法,将闭包表达式赋给一个常量并不常用,那种调用方式还不如就写成函数的形式*/vararray=[20,2,3,70,8]showArrayprintbubbleSortletintCmp={->Intin//可以修改闭包表达式//letx=a%10//lety=b%10ifa>b{return-1}elseifaIntin//可以修改闭包表达式letx=a%10lety=b%10ifx>y{return-1}elseifxVoid{for

  6. [译] Alamofire Tutorial: Getting Started

    Alamofire提供了链式的request/response方法,JSON的传参和响应序列化,身份认证和其他特性。Alamofire的优雅之处在于它完完全全是由Swift写成的,并且没有从它的Objective-C版本-AFNetworking那继承任何特性。该token将会被包含在每个发往Imagga的请求的头部。Apple提供JSONSerialization类来帮助将内存中的对象转换为JSON,反之亦然。Alamofire有几个主要功能:.upload:以multipart,流,文件或数据方法上传

  7. 如何在Swift中传递回调函数

    我看过例子,这应该是我想的.我的类的定义是不正确的,因为我传递回调的方式吗?

  8. Android Facebook登录中不会调用回调函数

    解决方法你忘了把监听器放在onActivityResult()中将以下代码放在onActivityResult活动方法中:

  9. HTML5本地存储和本地数据库实例详解

    这篇文章主要介绍了HTML5本地存储和本地数据库实例详解,需要的朋友可以参考下

  10. 浅谈javascript回调函数

    回调函数是从一个叫函数式编程的编程范式中衍生出来的概念。简单来说,函数式编程就是使用函数作为变量。函数式编程过去 - 甚至是现在,依旧没有被广泛使用 - 它过去常被看做是那些受过特许训练的,大师级别的程序员的秘传技巧。

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部