码迷,mamicode.com
首页 > 其他好文 > 详细

cocos2D-x 3.x学习(1)

时间:2016-06-05 23:16:59      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

最近在看网络编程(java-C#),所以突然对cocos2d.x有了想法,买了本钟迪龙的《Coco2d-x 3.x游戏开发之旅》,感觉不错~

所以就在这里记录一下学习笔记吧~

技术分享

(PASS:开发环境已配,但不知为什么cocos2d在VS2015不可用,只好搞个虚拟机安装VS2012在虚拟机上玩了~还好电脑不错~)

1.场景切换:Director:导演类

例:加载第一个场景:runWithScene

Director::getInstance()->runWithScene(scene);

 

2.简单的切换场景:replaceScene

Director::getInstance()->replaceScene(scene);

  

3.menuCloseCallback:是关闭按钮的回调函数~(书上说以后会讲~)

 

4.TransitionSlideInT:场景类(实现动画特效哦~)

TransitionSlideInT(float t, Scene *scene); 

当然也有其它的:

TransitionJumpZoom:原场景缩小弹出,新场景放大弹入

TransitionProgressRadialCCW:逆时针切换

TransitionProgressHorizontal:水平指针切换

TransitionProgressInOut:从里向外切换

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

TransitioPageForward:翻页,下一页;

TransitionFadeTR:方块切换左下角

TransitionFadeUp:从下向上的百叶窗

TransitionTurnOffTiles:方块切换,到处都是

TransitionSplitRows:分离的矩形横向切换

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

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

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

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

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

TransitionMoveInL:新场景从左向右移入

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

 

5.场景的推进和弹出场景:

上面的ReplaceScene函数进行场景的切换,会导致旧场景被释放(因为开发中一个场景或许会占用很多资源)

但是此种方式不需要释放旧场景,新旧场景依旧同时存放在内存中

如:pushSene函数:将

popScene函数:将新场景释放,恢复旧场景显示

 1 // HelloWorldScene.cpp部分
 2 void HelloWorld::menuCloseCallback(Ref* pSender)
 3 {
 4     // 推进场景
 5     Director::getInstance()->pushScene(SecondScene::createScene());
 6 }
 7 
 8 // SenondScene.cpp部分
 9 bool SecondScene::init() {
10     Label* label = Label::create("Hi, are you mutou?", "Arial", 40);
11     label->setPosition(ccp(200, 200));
12     this->addChild(label);
13     /* 添加按钮 */
14     MenuItemImage *pCloseItem = MenuItemImage::create(
15         "CloseNormal.png",
16         "CloseSelected.png",
17         this,
18         menu_selector(SecondScene::popScene));
19     pCloseItem->setPosition(ccp(Director::getInstance()->getWinSize().width - 20, 20));
20 
21     Menu* pMenu = Menu::create(pCloseItem, NULL);
22     pMenu->setPosition(Point(0, 0));
23     this->addChild(pMenu, 1);
24     return true;
25 }

 

 

cocos2D-x 3.x学习(1)

标签:

原文地址:http://www.cnblogs.com/DeepinSky/p/5548994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!