`
tank2308635
  • 浏览: 192099 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)CCScene切换的所有特效(27种)以及设置屏幕横竖屏!

阅读更多

 

Himi 原创,转载请注明!

原文地址:http://blog.csdn.net/xiaominghimi/article/details/6651281


       CCScene 对于使用cocos2d的童鞋肯定很熟悉,那么在使用   [[CCDirectorsharedDirector]replaceScene:<#(CCScene *)scene#>];  对scene进行场景(CCLayout)进行切换时,cocos2d提供了一些特效进行过渡,那么今天仔细翻开cocos2d源码,将所有的动画效果都测试了一遍,大概整理如下,提供大家查阅和使用吧;

      因为我使用的是最新的cocos2d的1.0版本,所以一些函数方法跟之前不一样了,所以不要感到奇怪;

      由于代码都有备注,所以就直接上代码了,就不详细单独解释了;关于注释的都是我的直观体验,推荐大家放到自己项目中,自己都看看每个的效果,这样记忆深刻;

 

//触摸事件 - 当手指从屏幕抬起时调用的方法-Himi
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
	CCScene* scenec = [OtherLayout scene]; 
	//部落格------
	//CCTransitionTurnOffTiles *transitionScene = [CCTransitionTurnOffTiles transitionWithDuration:3 scene:scenec];
	//近远-远近-----
	//CCTransitionShrinkGrow *transitionScene = [CCTransitionShrinkGrow transitionWithDuration:3 scene:scenec];
	//另一个layout左侧进入(视觉感觉是屏幕右移)
	//CCTransitionSlideInL *transitionScene = [CCTransitionSlideInL transitionWithDuration:3 scene:scenec];
	//另一个layout右侧进入(视觉感觉是屏幕左移)
	//CCTransitionSlideInR *transitionScene = [CCTransitionSlideInR transitionWithDuration:3 scene:scenec];
	//另一个layout上侧进入(视觉感觉是屏幕下移)
	//CCTransitionSlideInT *transitionScene = [CCTransitionSlideInT transitionWithDuration:3 scene:scenec];
	//另一个layout下侧进入(视觉感觉是屏幕上移)
	//CCTransitionSlideInB *transitionScene = [CCTransitionSlideInB transitionWithDuration:3 scene:scenec];
	//当前屏幕被分为3列,两则下移,中间上移
	//CCTransitionSplitCols *transitionScene = [CCTransitionSplitCols transitionWithDuration:3 scene:scenec];
	//当前屏幕被分为3列,两则左移,中间右移
	//CCTransitionSplitRows *transitionScene = [CCTransitionSplitRows transitionWithDuration:3 scene:scenec];	
 	//扇形转换-----
	//CCTransitionRadialCW *transitionScene = [CCTransitionRadialCW transitionWithDuration:3 scene:scenec];
	//平面旋转-----
	//CCTransitionRotoZoom *transitionScene = [CCTransitionRotoZoom transitionWithDuration:3 scene:scenec];
	//近-远-跳动------
	//CCTransitionJumpZoom *transitionScene = [CCTransitionJumpZoom transitionWithDuration:3 scene:scenec];
	//立体反转(X轴)--(还有种从近到远,从远到近的感觉)--------
	//CCTransitionZoomFlipX *transitionScene = [CCTransitionZoomFlipX transitionWithDuration:3 scene:scenec];
	//立体反转(Y轴)-(还有种从近到远,从远到近的感觉)-------
	//CCTransitionZoomFlipY *transitionScene = [CCTransitionZoomFlipY transitionWithDuration:3 scene:scenec];
	//立体反转(X,Y轴)---(还有种从近到远,从远到近的感觉)-----
	//CCTransitionZoomFlipAngular *transitionScene = [CCTransitionZoomFlipAngular transitionWithDuration:3 scene:scenec];
	//另外一个layout左侧进入覆盖当前layout
	//CCTransitionMoveInL *transitionScene = [CCTransitionMoveInL transitionWithDuration:3 scene:scenec];
	//另外一个layout右侧进入覆盖当前layout
	//CCTransitionMoveInR *transitionScene = [CCTransitionMoveInR transitionWithDuration:3 scene:scenec];
	//另外一个layout上侧进入覆盖当前layout
	//CCTransitionMoveInT *transitionScene = [CCTransitionMoveInT transitionWithDuration:3 scene:scenec];
	//另外一个layout下侧进入覆盖当前layout
	//CCTransitionMoveInB *transitionScene = [CCTransitionMoveInB transitionWithDuration:3 scene:scenec];
	//立体反转(X轴)--2D平面反转,没有远近感
	//CCTransitionFlipX *transitionScene = [CCTransitionFlipX transitionWithDuration:3 scene:scenec];
	//立体反转(Y轴)--2D平面反转,没有远近感
	//CCTransitionFlipY *transitionScene = [CCTransitionFlipY transitionWithDuration:3 scene:scenec];
	//立体反转(X,Y轴)--2D平面反转,没有远近感
	//CCTransitionFlipAngular *transitionScene = [CCTransitionFlipAngular transitionWithDuration:3 scene:scenec];
	//实体-透明-实体(默认无颜色,可以附带颜色)
	//CCTransitionFade* transitionScene = [CCTransitionFade transitionWithDuration:3 scene:scenec withColor:ccWHITE];
	//另外一个直接渐变覆盖当前layout 
	//CCTransitionCrossFade *transitionScene = [CCTransitionCrossFade transitionWithDuration:3 scene:scenec];
	//移动(方格状)部落格,从左下往右上
	//CCTransitionFadeTR *transitionScene = [CCTransitionFadeTR transitionWithDuration:3 scene:scenec];
	//移动(方格状)部落格,从右上往左下	
	CCTransitionFadeBL *transitionScene = [CCTransitionFadeBL transitionWithDuration:3 scene:scenec];
	//移动(长矩形,宽度是屏幕宽)部落格,从下往上
	//CCTransitionFadeUp *transitionScene = [CCTransitionFadeUp transitionWithDuration:3 scene:scenec];
	//移动(长矩形,宽度是屏幕宽)部落格,从上往下
	//CCTransitionFadeDown *transitionScene = [CCTransitionFadeDown transitionWithDuration:3 scene:scenec];
	[[CCDirector sharedDirector] replaceScene: transitionScene];
}
 

 

以上代码Himi推荐大家自己常识运行每种特效,毕竟每个人都有不同的感觉,注释都是我的感觉写的,大概注释了一下而已;

 

         下面我来给大家介绍如何在cocos2d 1.0版本中设置竖屏显示,因为默认是横屏;

        首先找到RootViewController.m 类(此类在1.0版本存在),然后找到宏定义的一段代码,代码如下:

       #elif GAME_AUTOROTATION == kGameAutorotationUIViewController

然后下面能看到cocos2d的默认代码是设置横屏:

  1. return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );  

如果想设置竖屏,请更改如下即可:
  1. return (UIInterfaceOrientationIsPortrait(interfaceOrientation));  

ok,今天就先介绍这里~继续学习~下面给出一张,部落格效果,从左下往右上的切换特效截图;

 

分享到:
评论

相关推荐

    cocos2d-x学习笔记(5)-- CCScene场景的切换(带过度效果).rar

    "cocos2d-x学习笔记(5)-- CCScene场景的切换(带过度效果)"这个主题聚焦于如何在游戏过程中平滑地从一个场景过渡到另一个场景,并且添加动态的过渡效果,提升用户体验。 首先,CCScene是cocos2d-x中的一个类,它代表...

    Cocos2D-X2.2.3学习笔记18(场景切换)

    在Cocos2D-X2.2.3这个版本中,场景(Scene)是游戏或应用的基本构造块,它代表了屏幕上的一个独立显示区域。场景切换是游戏中常见的操作,用于在不同游戏状态间平滑过渡。这篇学习笔记将深入探讨如何在Cocos2D-X中...

    cocos2d-x_学习文档

    在处理设备方向时,cocos2d-x提供了一个枚举类型`ccDeviceOrientation`,它定义了四种可能的设备方向:正向竖屏(kCCDeviceOrientationPortrait)、反向竖屏(kCCDeviceOrientationPortraitUpsideDown)、正向横屏...

    cocos2d-x 游戏菜单选项卡的实现

    在cocos2d-x游戏开发中,实现菜单选项卡是一种常见的功能,用于组织游戏界面,让用户能够方便地在多个功能之间切换。cocos2d-x是一个开源的2D游戏引擎,广泛应用于移动设备和桌面平台的游戏开发。在这个场景中,我们...

    Coco2dx入门 切换场景Test

    在`gametest`这个文件中,可能包含了实际的场景切换示例代码,通常会包括场景的创建、层的添加以及事件监听器的设置。`更多.txt`文件可能提供了更详细的教程或额外的信息,比如如何创建和管理场景、如何响应用户输入...

    coco2d-x场景切换具体办法

    在Cocos2d-x游戏开发中,场景(Scene)是游戏世界的基本构成单元,它可以包含多个层(Layer)以及各种游戏对象。场景切换是游戏流程中的常见操作,本篇文章将详细讲解如何在Cocos2d-x中实现场景之间的切换,以解决...

    cocos2d-x的CCDirector类说明

    方向可以是横屏、竖屏等。 - **`void setDeviceOrientation(ccDeviceOrientation kDeviceOrientation)`** 设置游戏的显示方向。这对于调整游戏画面适应不同的设备方向非常重要。 - **`bool enableRetinaDisplay...

    cocos2d-x场景的创建于切换

    以下将详细介绍cocos2d-x中场景的创建和切换,以及与之相关的知识点。 1. **场景创建** 在cocos2d-x中,我们可以使用`CCScene`类来创建场景。通常,我们会继承自`CCScene`并添加自己的逻辑。例如,创建一个名为`...

    Cocos2d-x横版动作手游完整源码Source

    "横版动作手游"是指一种游戏类型,玩家在2D横轴场景中操控角色进行动作冒险,常见的如跑酷、格斗或平台跳跃类游戏。Cocos2d-x凭借其强大的图形渲染能力、丰富的动画系统以及高效的性能,是制作此类游戏的理想选择。 ...

    Cocos2D 简单游戏

    `CCScene`是所有场景的基础类,通过`director.runWithScene`方法,开发者可以方便地在不同场景间进行切换。场景切换时,可以使用过渡效果,如淡入淡出、滑动等,来增加视觉吸引力。 在这个“Cocos2D简单游戏”项目...

    Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验

    首先,CCScene是所有游戏场景的顶级容器,它代表一个独立的游戏状态。在C++代码中,`CCScene::create()`方法用于创建一个新的场景实例。默认情况下,CCScene的坐标系统原点位于左下角,而其锚点(Anchor Point)是...

    cocos2d-x3.2横版游戏源码

    本篇将深入探讨cocos2d-x3.2版本在横版游戏开发中的应用,以及如何通过给定的源码快速理解和构建游戏项目。 一、cocos2d-x3.2框架基础 1. C++核心:cocos2d-x3.2版本主要采用C++编写,提供了一套完整的面向对象的...

    cocos2d 游戏菜单设置v1

    1. Cocos2D的结构:包括`CCScene`、`CCLayer`和`CCNode`的概念,以及它们之间的关系。 2. `CCMenu`和`CCMenuItem`的使用:如何创建菜单,添加菜单项,以及设置点击事件监听器。 3. `CCAction`的使用:如何创建和组合...

    Cocos2d-x HelloWorld代码部分类图及时序图

    1. `CCDirector`初始化并设置屏幕分辨率。 2. 创建`CCScene`实例,并将其设置为当前运行的场景。 3. 在`CCScene`中创建一个`HelloWorld`实例(即`CCLayer`)。 4. `HelloWorld`实例创建`CCLabelTTF`对象,并设置文本...

    如何使用cocos2d 2.x制作一个多向滚屏射击游戏-第一部分源代码

    同时,可以设置边缘感应,当坦克靠近屏幕边缘时,场景会自动滚动以保持坦克在屏幕中央。 游戏逻辑包括玩家控制、敌机生成、得分系统和游戏结束条件。玩家控制通常通过触摸或键盘输入来实现,而敌机生成则可以通过...

    计算机软件及应用iOS应用程序开发方法与实践PPT学习教案.pptx

    场景(CCScene)是功能独立的游戏界面,如Logo界面、主菜单、设置和游戏界面。游戏流程就是场景之间的切换。而图层(CCLayer)是场景的组成部分,可以包含多个,用于展示不同内容,同时处理触屏事件和加速事件。 ...

    计算机软件及应用iOS应用程序开发方法与实践PPT课件.pptx

    这个框架提供了一系列强大的功能,包括场景管理和切换、精灵管理、预设的游戏特效、动画支持、内置声音引擎以及简单的UI元素如按钮和菜单。Cocos2d基于OpenGL ES,其坐标系统与UIKit有所不同,坐标原点位于屏幕左下...

    知易Cocco2D-iPhone开发教程-02.pdf

    **定义:** 导演是Cocos2D-iPhone的核心控制器,负责初始化OpenGL环境、处理用户输入事件以及管理场景的切换。 **功能:** - 初始化OpenGL ES环境,设置屏幕分辨率。 - 处理用户的触摸和键盘输入事件。 - 控制场景...

Global site tag (gtag.js) - Google Analytics