cocos2d-x

Learning Cocos2d-x for XNA(6)——场景切换和场景过渡效果

◇◆丶佛笑我妖孽 提交于 2019-11-26 21:45:55
在进行此部分学习的时候,确保Cocos2d-x for xna引擎的版本为0.1.2(或更高版本),实测0.1.0版本部分功能出现BUG。 之前的源码都是0.1.0版本的,从此次开始都是0.1.2版本。 开始菜单 背景 添加背景图片(“狼来了”的素材)和按钮至内容管道(Content) 创建两个类文件WolfMenuScene.cs和WolfMenuLayer.cs。 WolfMenuScene WolfMenuScene 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using cocos2d; 6 7 namespace LearningCocos2d_xForXNA.Classes 8 { 9 class WolfMenuScene:CCScene 10 { 11 public WolfMenuScene() 12 { 13 CCLayer _wolfMenuLayer = new WolfMenuLayer(); 14 this .addChild(_wolfMenuLayer); 15 } 16 } 17 } WolfMenuLayer 设置屏幕朝向deviceOrientation 默认下是横屏显示,该属性有四个值

Learning Cocos2d-x for WP8(2)——深入刨析Hello World

一笑奈何 提交于 2019-11-26 21:45:50
cocos2d-x 框架 在兄弟篇 Learning Cocos2d-x for XNA ( 1 ) —— 小窥 cocos2d-x 框架 中已有详细介绍cocos2d-x框架下的基本元素。可自行参考学习,概念的东西基本一样。 HelloWorld HelloWorld程序虽然简单,但能测试程序是否能正确的运行,同时很能体现一个框架的整体结构。 cocos2d-x中HelloWorld显示主要通过AppDelegate和HelloWorldScene。 在显示HelloWorld程序时,得将图片资源放进Assets文件夹中 AppDelegate C++程序中最主要的是头文件(.h)和源文件(.cpp)。 AppDelegate.h AppDelegate.h头文件中,定义类(Class)AppDelegate继承CCApplication。在AppDelegate中声明相关方法。 AppDelegate.cpp AppDelegate.cpp源文件中包含AppDelegate.h头文件,在其中实现头文件中声明的方法。 其中在方法applicationDidFinishLaunching中,我们找到了熟悉的CCDirector(导演),当中pScene为起始页面。很显然HelloWorld类,需要在AppDelegate

Learning Cocos2d-x for WP8(9)——Sprite到哪,我做主

人盡茶涼 提交于 2019-11-26 21:45:44
工程文件TouchesTest.h和TouchesTest.cpp 相关素材文件 事件驱动同样适用于cocos2d-x引擎,cocos2d-x的触屏事件可分为单点和多点触屏。 一般用到情况有: Layer统一接受触屏消息,然后由程序根据需要分发给不同位置的sprite; 自定义可接收触屏事件的sprite。 Layer 层实现触屏事件 1.开启触屏事件 在Layer层初始化的时候设置 setIsTouchEnabled( true ); 2.重写(覆盖)父类CCLayer的方法 以下为CCLayer类的CCCtouch相关虚方法 // default implements are used to call script callback if exist virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent * pEvent); virtual void ccTouchMoved(CCTouch *pTouch, CCEvent * pEvent); virtual void ccTouchEnded(CCTouch *pTouch, CCEvent * pEvent); virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent * pEvent); // default

Learning Cocos2d-x for WP8(7)——让Sprite动起来

拟墨画扇 提交于 2019-11-26 21:45:44
C#(wp7)兄弟篇 Learning Cocos2d-x for XNA(7)——让Sprite动起来 本讲将详细介绍Cocos2d-x游戏中动画Animate的创建方式,通过逐帧数组播放动画和创建动画集合播放动画,比较两者的异同,让Sprite动起来。 工程文件: SpriteAnimationTest.h 和 SpriteAnimationTest.cpp SpriteAnimationTest.h 添加两类预处理SpriteAnimateFrameScene和SpriteAnimateFrameLayer 核心代码 SpriteAnimationTest.h 1 #ifndef _SPRITE_ANIMATION_TEST_ 2 #define _SPRITE_ANIMATION_TEST_ 3 4 #include " cocos2d.h " 5 6 using namespace cocos2d; 7 8 class SpriteAnimateFrameScene: public CCScene 9 { 10 public : 11 SpriteAnimateFrameScene(); 12 ~ SpriteAnimateFrameScene(); 13 14 virtual void onEnter(); 15 }; 16 17 class

Learning Cocos2d-x for WP8(6)——场景切换和场景过渡效果

主宰稳场 提交于 2019-11-26 21:45:40
C#(wp7)兄弟篇 Learning Cocos2d-x for XNA(6)——场景切换和场景过渡效果 工程文件: SceneTransitionTest.h 和 SceneTransitionTestc.cpp 开始菜单 添加背景和菜单按钮素材至Assets中 SceneTransitionTest.h 在SceneTransitionTest.h中添加两个Class(SceneTransitionTestScene和SceneTransitionTestLayer)分别用于Scene和Layer。 核心代码 1 class SceneTransitionTestScene: public CCScene 2 { 3 public : 4 SceneTransitionTestScene(); 5 ~ SceneTransitionTestScene(); 6 7 virtual void onEnter(); 8 }; 9 10 class SceneTransitionTestLayer: public CCLayer 11 { 12 public : 13 SceneTransitionTestLayer(); 14 ~ SceneTransitionTestLayer(); 15 16 void btnStartClickCallback(CCObject*

Learning Cocos2d-x for WP8(5)——详解Menu菜单

醉酒当歌 提交于 2019-11-26 21:45:36
C#(wp7)兄弟篇 Learning Cocos2d-x for XNA(5)——详解Menu菜单 菜单是游戏必不可少的元素,菜单的实现,无非就是文字或者图片。 CCLabel元素更多的时候是实现说明的作用,用于导航性的菜单,更多时候是用CCMenu。 主要的几个Menu相关的元素的继承关系。 工程文件:MenuTest.h和MenuTest.cpp CCMenuItemFont 核心语句 1 // CCMenuItemFont 2 CCMenuItemFont::setFontName( " American Typewriter " ); // 字体纹理 3 CCMenuItemFont::setFontSize( 30 ); 4 CCMenuItemFont* menuItemFont1=CCMenuItemFont::itemFromString( " START " ); 5 CCMenuItemFont* menuItemFont2=CCMenuItemFont::itemFromString( " QUIT " ); 6 7 CCMenu* menu1= CCMenu::menuWithItems(menuItemFont1,menuItemFont2,NULL); 8 menu1->alignItemsVertically(); // 菜单垂直排列 9 menu1

Learning Cocos2d-x for WP8(3)——文字篇

故事扮演 提交于 2019-11-26 21:45:36
C#兄弟篇 Learning Cocos2d-x for XNA(3)——文字篇 文字,是人类文明的象征。 文字显示,可用字符串或文字图片显示。 添加图片到Assets文件夹中 在Classes文件夹中添加用于测试的头文件(.h)和源文件*(.cpp) ShowTextTest.h 在头文件中include “cocos2d.h”头文件,using 命名空间(namespace)cocos2d。 在其中声明继承Scene(场景)类和Layer(层)类 ShowTextTestScene继承CCScene,实现构造方法、虚构造方法和继承CCNode中的虚函数onEnter()。 ShowTextTestLayer继承CCLayer,实现构造方法和虚构造方法。 源码 1 #ifndef _SHOW_TEXT_TEST 2 #define _SHOW_TEXT_TEST 3 4 #include " cocos2d.h " 5 6 using namespace cocos2d; 7 8 class ShowTextTestScene: public CCScene 9 { 10 public : 11 ShowTextTestScene(); 12 ~ ShowTextTestScene(); 13 14 virtual void onEnter(); 15 }; 16 17

Learning Cocos2d-x for WP8(8)——动作Action

梦想的初衷 提交于 2019-11-26 21:45:33
游戏很大程度上是由动作画面支撑起来的。 动作分为两大类:瞬间动作和延时动作。 瞬间动作基本等同于设置节点的属性,延时动作会执行一段时间,不需要清除这两种动作,一旦动作完成,就会从节点上清除并释放所占内存。 封装CCSpriteBatchNode的使用方法 BatchAnimatitonSprite 1 CCSprite* SpriteActionLayer::BatchAnimatitonSprite(CCLayer* pLayer,CCSprite *pSprite, CCPoint* spriteStartPoint, const char *strFramesFileName, const char *strFramesFileNameImg, const char *strFirstFrameName, const char *strEachFrameName, int frameCount, float frameDelay) 2 { 3 // CCSpriteBatchNode 4 // 创建批处理节点,读取plist文件 5 CCSpriteFrameCache* cache= CCSpriteFrameCache::sharedSpriteFrameCache(); 6 cache-> addSpriteFramesWithFile

Learning Cocos2d-x for WP8(1)——创建首个项目

走远了吗. 提交于 2019-11-26 21:45:32
Cocos2d-x for WP8开发语言是C++,系列文章将参考兄弟篇 Learning Cocos2d-x for xna ,比较C#与C++版本的Cocos2d-x引擎的异同。水平有限,还在不断摸索中,如有错误,欢迎指点。如果有更多的人加入分享自己的学习过程,这样更能壮大社区,共同营造一个开放的Cocos2d-x平台。 1.下载Cocos2d-x Windows Phone 8版本 猛点下载 2.重命名cocos2dx - 0.13 0 - wp8 - 0.8文件夹,作为为您的应用程序名称。 3.进去新文件夹。你可以删除cocos2dx-wp8.sdf文件。也应该看到一个文件夹命名为HelloWorld,应该重命名该文件夹来适合你自己的项目。 4.编辑cocos2dx-wp8.sln文件(记事本打开)。原始文件如图 你可以删除测试项目(test)和你应该改变应用程序的名称,将“cocos2d”修改为您自己的应用程序。修改后如图: 5.现在使用vs2012加载整个项目。打开WMAppManifest.xml和改变应用程序的设置:名字,图标,磁铁标题等等。 在“打包”标签下,可修改作者、发布者、版本等信息。 6.右击HelloWorld项目,重命名AnimalFight。 7.现在运行新项目。如无意外可看到愤怒的松鼠游戏。 如果运行成功,即可删除此愤怒的松鼠游戏的相关资源

Getting the dimensions of the soft keyboard

匆匆过客 提交于 2019-11-26 19:53:50
Is there a way to know the size of the keyboard that is shown in the screen? I am using Cocos2dx for programming, but I want to know the height of the keyboard shown in screen in the part of Android or the part of Cocos, it does not matter. I know that Keyboard has a getHeight() method but I don't want to create new keyboards, i want to use the default one. We did it with this myLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); parent.getWindowVisibleDisplayFrame(r); int