根源孟加拉的摄影师Sujon将水墨画视作最大的兴趣爱好,在她的眼中,世界是满载情调的,他喜好挑选那多少个浩大之处进行摄像,並且擅长搜索那么些能够援救起画面包车型客车因素,例如航空拍片中的湖泖、稻田等等。那个五颜六色的现象,在人物的点缀下,显得尤为壮阔。
这里是Evankaka的博客,迎接大家前来切磋与调换~~~~~~
//慢慢淡化到另一场景
** **转发请注脚出处
TransitionCrossFade::create(时间,指标场景State of Qatar;//浏览器
rendermode为1或0或2能够
本文首要讲讲用Cocos
Studio制作的登陆分界面,来规划一个层类,然后依据那几个登陆分界面包车型地铁接受,跳转到不一致的情景。此中,本文用到的界面可参谋上篇Cocos2d-x使用Cocos
Studio制作分界面并采用—之游戏开荒《常胜将军要入手》(11)
//这场景变暗消失后另一场景慢慢出现
cocos2d-x版本:2.2.5
TransitionFade::create(时间,目的场景卡塔尔;//浏览器 rendermode为1或0或2方可
工程意况:windows7+VS2008
//这一场景右上角到左下角方块消失到另一场景
张开药形式:将工程坐落于cocos2d-x设置目录下的project文件夹下用VS展开
TransitionFadeBL::create(时间,目的场景卡塔尔(قطر;//浏览器rendermode为0或2得以
(源码无需付费下载)
先来寻访效果:
//本场景从上到下横条消失到另一场景
一、场景切换知识
TransitionFadeDown::create(时间,指标场景State of Qatar;//浏览器rendermode为0或2足以
1 一些常识
入口:AppDelegate
场景:Scene(由开拓者本人完毕琳琅满指标scene)
场景组件:Layer(首要提供组处理的机制)和种种Node(基本要素)
场景切换:Director很明朗一个简便的娱乐基本上只需求自个儿团结实现多少个Scene,增加一些Layer和Node进来,再找个合适的地点用Director进行切换就能够。
//这一场景左下角到右上角方块消失到另一场景
2.说明
runWithScene(CCScene* sceneState of Qatar:运转游戏,并运转scene
场景。那一个大目的在于主程序运行时第二次开发银行主场景时调用。(它在AppDelegate中央银行使到)
replaceScene(CCScene* scene卡塔尔:直接运用传入的scene
替换当前光景来切换镜头,当前光景将被放飞。那是切换场景时最常用的不二秘诀。
pushScene(CCScene*
scene卡塔尔国:在不自由旧场景内部存款和储蓄器的动静下运作新场景,推动新场景也便是在当前可以知道的纸上再放一张纸,而在此以前的纸地方何持不改变。适用情况:
a.推动一个时有的时候被用到的景色,比如游戏中的Setting场景。
b.当想要保留最早场景场合时,而不想保留和加载状态。举例在玩乐进程中查阅排名的榜单,推进名次榜场景时,游戏场景不会持续运转,会被中断。
popScene:释放当前情景,再从代试行场景栈中弹出栈顶的光景,并将其设置为当下运作意况。若是栈为空,则直接截止应用。与pushScene
成对采取,能够高达形如由主分界面步向安装分界面,然后再次回到主分界面包车型地铁功效。
是因为每当在带动气象时,要求保险总是有丰裕的附加内部存款和储蓄器可供推动的场景使用,但那一点很难测验。提出要有支持的景色都应该是轻柔的,只占用少许的内部存款和储蓄器,而且只弹出小编,而不会推向其余场景
TransitionFadeTTucson::create(时间,目标场景卡塔尔(قطر;//浏览器rendermode为0或2足以
二、自定义登陆分界面
那边直接看代码了,本身把JSON文件换下,再把按钮名换下,就足以安装自个儿的嬉戏登入分界面了
GameLogin.h
#ifndef __GameLogin_SCENE_H__
#define __GameLogin_SCENE_H__
#include "cocos2d.h"
#include "cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT;
using namespace gui;//重点要记得,要不会出现error C2065: “SEL_TouchEvent”: 未声明的标识符
class GameLogin : public cocos2d::CCLayer
{
public:
virtual bool init();
static cocos2d::CCScene* scene();
CREATE_FUNC(GameLogin);
//开始游戏按钮的回调事件
void TouchBeginButton(cocos2d::CCObject* obj,gui::TouchEventType type);
//设置游戏按钮的回调事件
void TouchSetnButton(cocos2d::CCObject* obj,gui::TouchEventType type);
//退出游戏按钮的回调事件
void TouchExitButton(cocos2d::CCObject* obj,gui::TouchEventType type);
};
#endif // __GameLogin_SCENE_H__
GameLogin.cpp
#include "GameLogin.h"
#include "HelloWorldScene.h"//这是游戏界面的头文件
CCScene* GameLogin::scene()
{
CCScene *scene = CCScene::create();
GameLogin *layer = GameLogin::create();
scene->addChild(layer);
return scene;
}
bool GameLogin::init()
{
if ( !CCLayer::init() )
{
return false;
}
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
//加载cocos studio制作的界面
gui::TouchGroup* ul = gui::TouchGroup::create();
gui::Layout* equipe_root =dynamic_cast<gui::Layout*>(GUIReader::shareReader()->widgetFromJsonFile("MyLogin_1.ExportJson"));
ul->addWidget(equipe_root);
this->addChild(ul,2);
//给开始按钮添加事件监听
gui::Button *Btn_Begin = dynamic_cast<gui::Button*>(equipe_root->getChildByName("Begin_Game"));//Begin_Game为在Cocos Studio中定义的按钮的名称
Btn_Begin->addTouchEventListener(this,toucheventselector(GameLogin::TouchBeginButton));
//给设置按钮添加事件监听
gui::Button *Btn_Set = dynamic_cast<gui::Button*>(equipe_root->getChildByName("Set_Game")); //Set_Game为在Cocos Studio中定义的按钮的名称
Btn_Set->addTouchEventListener(this,toucheventselector(GameLogin::TouchSetnButton));
//给开始按钮添加事件监听
gui::Button *Btn_Exit = dynamic_cast<gui::Button*>(equipe_root->getChildByName("Exit_Game")); //Exit_Game为在Cocos Studio中定义的按钮的名称
Btn_Exit->addTouchEventListener(this,toucheventselector(GameLogin::TouchExitButton));
return true;
}
void GameLogin::TouchBeginButton(cocos2d::CCObject* obj,gui::TouchEventType type)
{
if(type==gui::TouchEventType::TOUCH_EVENT_BEGAN)
CCDirector::sharedDirector()->replaceScene(HelloWorld::scene());//进入游戏主界面
}
//设置游戏按钮的回调事件
void GameLogin::TouchSetnButton(cocos2d::CCObject* obj,gui::TouchEventType type)
{
}
//退出游戏按钮的回调事件
void GameLogin::TouchExitButton(cocos2d::CCObject* obj,gui::TouchEventType type)
{
if(type==gui::TouchEventType::TOUCH_EVENT_BEGAN)
CCDirector::sharedDirector()->end();
}
十分轻易的几个类,现在还足以扩大~
//这一场景从下到上横条消失到另一场景
三、改变场景和开头化分界面
TransitionFadeUp::create(时间,目的场景卡塔尔国;//浏览器rendermode为0或2方可
1 修改初叶分界面
张开AppDelegate.cpp或AppDelegate.h,加多头文件#include
“GameLogin.h”
把原来 CCScene *pScene
= HelloWorld::scene();
改成 CCScene *pScene = GameLogin::scene();
记得在Cocos2d-x游戏暂停、继续玩乐、重新开头分界面包车型客车达成—之游戏开垦《赵子龙要入手》(10)中间我们不是概念了个Gamepause类么,里面有个回主分界面包车型地铁按键,在那记得把事件写上去了。
加多头文件#include
“GameLogin.h”
修改函数
//回主界面
void Gamepause::menuLogin(CCObject* pSender)
{
CCDirector::sharedDirector()->replaceScene(GameLogin::scene());
}
上面直接运营来走访哈
//本场景翻转消失到另一地方(斜上方)
2 带效应的切换
GameLogin.cpp修正函数
void GameLogin::TouchBeginButton(cocos2d::CCObject* obj,gui::TouchEventType type)
{
if(type==gui::TouchEventType::TOUCH_EVENT_BEGAN)
{
// CCDirector::sharedDirector()->replaceScene(HelloWorld::scene());//进入游戏主界面
// CCDirector::sharedDirector()->replaceScene(CCTransitionPageTurn::create(2,HelloWorld::scene(),false));//翻页进入游戏主界面
CCDirector::sharedDirector()->replaceScene(CCTransitionTurnOffTiles::create(2,HelloWorld::scene()));//随机方格消失进入游戏主界面
// CCTransitionPageTurn
// 作用:创建一个翻页的过渡动画
// 参数1:过渡动作持续的时间
// 参数2:切换的目标场景的对象
// 参数3:是否逆向翻页
// CCTransitionTurnOffTiles
// 作用:创建一个随机方格消失的过渡动画
// 参数1:过渡动作的持续时间
// 参数2:切换的目标场景的对象
}
}
愈来愈多的光景切换效果:
[1]:CCTransitionCrossFade::create(时间,目的场景卡塔尔;
//稳步淡化到另一场景
[2]:CCTransitionFade::create(时间,指标场景卡塔尔(قطر;
//这场景变暗消失后另一场景稳步出现
[3]:CCTransitionFadeBL::create(时间,指标场景卡塔尔国;
//这场景右上角到左下角方块消失到另一场景
[4]:CCTransitionFadeDown::create(时间,目的场景卡塔尔国;
//这一场景从上到下横条消失到另一场景
[5]:CCTransitionFadeTPRADO::create(时间,指标场景State of Qatar;
//本场景左下角到右上角方块消失到另一场景
[6]:CCTransitionFadeUp::create(时间,指标场景卡塔尔国;
//这场景从下到上横条消失到另一场景
[7]:CCTransitionFlipAngular::create(时间,目的场景,样式 State of Qatar;
//本场景翻转消失到另一气象(斜上方)
//样式(能够不写):
//kCCTransitionOrientationLeftOver(左向右翻转)
//kCCTransitionOrientationRightOver(右向左翻转)
[8]:CCTransitionFlipX::create(时间,指标场景,样式卡塔尔(قطر;
//本场景翻转消失到其他方面貌(X轴)
//样式(能够不写):
//kCCTransitionOrientationLeftOver(左向右翻转)
//kCCTransitionOrientationRightOver(右向左翻转)
[9]:CCTransitionFlipY::create(时间,指标场景卡塔尔(قطر;
//这场景翻转消失到另一现象(Y轴)
//样式(能够不写):
//kCCTransitionOrientationUpOver(下向上翻转)
//kCCTransitionOrientationDownOver(上向下翻转)
[10]:CCTransitionJumpZoom::create(时间,指标场景State of Qatar;
//这场景跳动消失后另一场景跳动现身
[11]:CCTransitionMoveInB::create(时间,目的场景卡塔尔国;
//另一场景由总体从上面现身
[12]:CCTransitionMoveInL::create(时间,指标场景卡塔尔(قطر;
//另一场景由总体从侧面现身
[13]:CCTransitionMoveInT::create(时间,指标场景卡塔尔国;
//另一场景由总体从下面现身
[14]:CCTransitionMoveIn中华V::create(时间,指标场景卡塔尔(قطر;
//另一场景由总体从侧面现身
[15]:CCTransitionPageTurn::create(时间,指标场景,bool卡塔尔国;
//翻页切换,bool为true是上前翻。
[16]:CCTransitionProgressHorizontal::create(时间,目的场景卡塔尔(قطر;
//这一场景从左到右消失同一时间另一场景现身
[17]:CCTransitionProgressInOut::create(时间,目的场景卡塔尔国;
//本场景从当中间到左近未有同一时间另一场景现身
[18]:CCTransitionProgressOutIn::create(时间,目的场景State of Qatar;
//本场景从四周全上游消失同期另一场景出现
[19]:CCTransitionProgressRadialCCW::create(时间,指标场景卡塔尔(قطر;
//本场景逆时针消失到另一场景
[20]:CCTransitionProgressRadialCW::create(时间,指标场景State of Qatar;
//这场景顺时针消失到另一场景
[21]:CCTransitionProgressVertical::create(时间,目的场景卡塔尔(قطر;
//这场景从上到下消失同期另一场景现身
[22]:CCTransitionRotoZoom::create(时间,目的场景卡塔尔(قطر;
//这场景旋转消失后另一场景旋转现身
[23]:CCTransitionShrinkGrow::create(时间,指标场景State of Qatar;
//这场景降低切换来另一场景放大
[24]:CCTransitionSlideInB::create(时间,指标场景卡塔尔国;
//本场景向上海好笑剧团动到另一场景
[25]:CCTransitionSlideInL::create(时间,指标场景卡塔尔;
//这场景向右滑动到另一场景
[26]:CCTransitionSlideIn逍客::create(时间,指标场景卡塔尔(قطر;
//这场景向左滑动到另一场景
[27]:CCTransitionSlideInT::create(时间,目的场景卡塔尔(قطر;
//这一场景向下滑动到另一场景
[28]:CCTransitionSplitCols::create(时间,指标场景卡塔尔;
cocos2d-x 3.0 场景切换特效汇总。 //本场景三矩形上下未有后另一场景三矩形上下现身
[29]:CCTransitionSplitRows::create(时间,指标场景卡塔尔;
//这场景三矩形左右熄灭后另一场景三矩形左右现身
[30]:CCTransitionTurnOffTiles::create(时间,指标场景卡塔尔;
//本场景小方块消失到另一场景
[31]:CCTransitionZoomFlipAngular::create(时间,指标场景,样式卡塔尔;
//这一场景翻转消失到另一场所(斜上方)
//样式(能够不写):
//kCCTransitionOrientationLeftOver(左向右翻转)
//kCCTransitionOrientationRightOver(右向左翻转)
[32]:CCTransitionZoomFlipX::create(时间,目的场景,样式State of Qatar;
//这场景翻转消失到另一情状(X轴)
//样式(能够不写):
//kCCTransitionOrientationLeftOver(左向右翻转)
//kCCTransitionOrientationRightOver(右向左翻转)
[33]:CCTransitionZoomFlipY::create(时间,目的场景,样式卡塔尔;
//这一场景翻转消失到另一地方(Y轴)
//样式(能够不写):
//kCCTransitionOrientationUpOver(下向上翻转)
//kCCTransitionOrientationDownOver(上向下翻转)
TransitionFlipAngular::create(时间,目的场景,样式 卡塔尔国;//浏览器 不帮忙
//本场景翻转消失到另一光景(X轴)
TransitionFlipX::create(时间,指标场景,样式卡塔尔(قطر;//浏览器 不辅助
//这一场景翻转消失到另一情景(Y轴)
TransitionFlipY::create(时间,目的场景卡塔尔(قطر;//浏览器 不扶持
//本场景跳动消失后另一场景跳动现身
TransitionJumpZoom::create(时间,目的场景卡塔尔国;//浏览器
rendermode为1或0或2得以
//另一场景由总体从下面现身
TransitionMoveInB::create(时间,目的场景卡塔尔国;//浏览器
rendermode为1或0或2能够
//另一场景由总体从侧面现身