【Cocos2d-x3.0学习笔记 03】一些基本的使用
2014-10-26 22:56
721 查看
1.场景(Scene)
3.0版本的场景集成了物理引擎的功能2.导演(Director)
①加载第一个场景Director::getInstance()->runWithScene(scene);
②简单切换场景
Director::getInstance()->replaceScene(scene);
③场景切换的特效
Director::getInstance()->replace(TransitionSlideInT::create(3.0f,scene));
一些场景的特效
TransitionJumpZoom 原场景缩小弹出,新场景放大弹入 TransitionProgressRadialCCW 逆时针切换 TransitionProgressHoriztal 水平向右切换 TransitionProgressInOut 从里向外切换 TransitionProgressCrossFade 原场景慢慢消失,新场景慢慢出现 TransitionPageForward 翻页,下一页 TransitionFadeTR 方块切换左下角 TransitionFadeUp 从下向上百叶窗 TransitionTurnOffTiles 方块切换,到处都是 TransitionSplitRows 分离的矩形横向切换 TransitionFade 渐变消失,渐变出现 FlipXLeftOver 整体横向翻转,从左往右 ZoomFlipXLeftOver 加上缩小 TransitionShrinkGrow 原场景往后缩小消失,新场景从后方往前放大 TransitionRotoZoom 原场景螺旋式往后方缩小 TransitionMoveInL 从左向右进入 TransitionSlideInL 从左向右
④推进和弹出,不需要释放原场景,类似弹出对话框什么的
Director::getInstance()->pushScene(scene);//推进场景 Director::getInstance()->popScene(scene);//弹出场景
3.层
Layer,每一层的精灵相对独立Layer* layer = Layer::create();
4.精灵
SpriteSprite* s = Sprite::create("hello.png"); s->setPosition(100,100);
5.菜单
MenuSize vSize = Director::getInstance()->getVisibleSize();//屏幕大小 MenuItemImage* imgMenu = MenuItem::create( "normal.png",//按钮正常图片 "select.png",//按钮按下图片 this, menu_selector(HelloWorld::onclick));//按钮监听事件 Label* label = Label::create("Menu","Arial",30);//创建个标签 MenuItemLabel* labelMenu = MenuItemLabel::create(label);//用标签创建标签菜单 Menu* menu = Menu::create(imgMenu,labelMenu,NULL);//创建菜单,存放菜单项 menu->alignItemsVertically();//设置菜单项垂直排列
6.三个重要的类
①Ref:cocos2d-x的基类,大部分类都是继承他的②Node:拥有简单功能的类,特别是update的调用
③Layer:继承Node,拥有多功能的类,特别是屏幕触摸监听
7.Cocos2d-x3.0的新成员
Value, Vector, Map①Value
Value可以存放很多种值
Value vStr = Value("Hello"); value vInt = Value(15); log("%s%d",vStr.asString.c_str(),vInt.asInt());
②Vector
Vector相对于java的List吧,应该是的
Vector<int> vec;//只能存放int类型的 int i = 10; int j = 20; vec.pushBack(i);//将i放到Vector钟 vec.pushBack(j); for(auto k : vec)//用for循环取出Vector中的内容 { log("%d",k); }
<span style="font-size:14px;">常用的函数 size()://长度 at(index);//下标为index的对象 front();//最先加入的对象 back();//最后加入的对象 pushBack(object);//在最后加入对象 eraseObject(object);//在Vector中删除对象 erase(index);//删除下标为index 的对象 clear();//清空</span>
③Map
Map就是键值对
<span style="font-size:14px;">Map<int,int> mmap;//Map就是键值对 for(int i = 0;i<10;i++) { mmap.insert(i,i);//key是i,value也是i } int j = mmap.at(3);//取出index为3的数据</span>
④Value的特殊使用
整数,浮点数,字符串之间的转换
<span style="font-size:14px;">log("%d",Value("1234").asInt()); log("%f",Value("14.5").asFloat()); log("%s",Value(14.5f).asString().c_str())</span>
相关文章推荐
- cocos2d-x学习笔记17:记录存储2:SQLite基本使用
- cocos2d-x学习笔记03:绘制基本图元
- 【转】cocos2d-x学习笔记03:绘制基本图元
- 【Cocos2d-X开发学习笔记】第14期:动作类之基本动作的使用(下)
- cocos2d-x学习笔记17:记录存储2:SQLite基本使用 推荐
- 【Cocos2d-X开发学习笔记】第13期:动作类之基本动作的使用(上)
- 【Cocos2d-x3.0学习笔记 11】Schedule的使用01
- cocos2d-x 学习笔记之Tiled Map地图使用时的一些问题
- [Cocos2d-x for WP8学习笔记] 一些基本概念,建立自己的启动界面
- cocos2d-x学习笔记17:记录存储2:SQLite基本使用
- 【Cocos2d-X开发学习笔记】第15期:动作类之摄像机动作和基本样条动作的使用
- cocos2d-x学习笔记17:记录存储2:SQLite基本使用
- cocos2d-x学习笔记03:绘制基本图元
- 第三章、一些基本数据结构使用和解析(iOS学习笔记,从零开始。)
- JavaScript DOM学习笔记2——DOM的基本使用
- 一起学习Silverlight企业应用2:开始使用Silverlight,以及一些基本概念
- 【VC++ 中使用ADO操作数据库学习笔记】_ConnectionPtr指针的基本用法
- 菜鸟学习linux笔记与练习-----一些基本命令以及初级网络配置
- Effective C++学习笔记——条款03:尽可能使用const
- 菜鸟学习linux笔记与练习-----第二天。一些基本命令以及初级网络配置