
cocos2d-x
蜗牛大侠
这个作者很懒,什么都没留下…
展开
-
cocos2d-x学习之onEnter和init的区别
CCNode OnEnter()调用:Class MyLayer:public CCLayer{};1. MyLayer* layer = new MyLayer();此时,会进行会onEnter回调。不会调用init()2. CCLayer* layer = MyLayer::node();此时,不会进行onEnter回调。会调转载 2012-08-29 15:53:19 · 3260 阅读 · 0 评论 -
Cocos2d-x学习(十):cocos2d-x 2.0版本中CCScrollView的用法
cocos2d-x 2.0版本之后提供了许多控件,其中就包括ScrollView,之前总结过一个简单的ScrollView,但是问题很多,比如必须是全屏,不能是一块区域,而cocos2d-x 2.0中提供的CCScrollView中,是可以设定区域的,CCScrollView做了区域的裁剪[cpp] view plaincopy"font-s转载 2012-09-07 09:42:45 · 1235 阅读 · 0 评论 -
Cocos2d-x学习(九):cocos2d-x 无限背景滚动
最近在学习飞行射击类游戏的一些开发,学到的东西确实不少,比如,无限背景滚动,子弹的缓冲池,面向组件开发等等!今天就来总结一下无限背景滚动的实现!飞行类的游戏都是基于背景的滚动,造成视觉上的假象,认为飞机在飞行,而不是“真正的向前飞”。。。1.原理滚动的原理:设定一个速度,在每次调用update(ccTime dt) 时,就根据速度和dt得到移动的偏移量,转载 2012-09-07 09:42:11 · 1274 阅读 · 0 评论 -
Cocos2d-x学习(八):cocos2d-x 2.0 中CCListView的用法
cocos2d-x 2.0 版更新了,把opengl 1.1 替换为opengl 2.0,这个版本只能在iphone 3gs,android 2.2 以上版本才能跑,并且android的模拟器也不支持!这次更新终于更新了几个UI控件,比如Button,Slider,ListView(本来打算自己写个ListView的,这下省事了,看到注释,这里要感谢网龙公司了,当然,还要感谢cocos2d转载 2012-09-07 09:41:47 · 1320 阅读 · 0 评论 -
Cocos2d-x学习(七):cocos2d-x中ScrollView的简单实现
在游戏关卡选择,道具店之中经常会用到类似于ScrollView的控件,之前用AndEngine引擎的时候简单的实现了一个,(AndEngine滑动菜单传送门),考虑到手头的游戏以后也会用到,就先用cocos2d-x简单的实现了一下!原理非常类似,android中的app(比如微博,qq)也是类似的原理!1.设计思路自定义ScrollView继承于CCLayer,固定其每转载 2012-09-07 09:41:20 · 2146 阅读 · 0 评论 -
Cocos2d-x学习(六):cocos2d-x中的模态对话框简单实现
cocos2d-x中没有为我们提供模态对话框的实现,不过有一个分平台来实现的确认对话框的实现CCMessageBox,可以实现的对话框。可是定制性不强,可以当做系统级的提示,但是如果作为游戏中的对话框就显得不那么妥当了!自定义一个模态对话框需要注意两方面:一. 触摸事件响应的优先级别二.易扩展其实第一点是比较麻烦的一个方面,第二点主要是根据用法的不同而需转载 2012-09-07 09:40:24 · 1149 阅读 · 0 评论 -
Cocos2d-x学习(五):cocos2d-x解析json(使用libjson库)
cocos2d-x很好,扩展性很好,但是其第三方库还不是很成熟,正如王哲所说,需要我们自己寻找,比如json解析和格式化。我们的网络部分需要用到json,网络部分用的比较多的就是json,毕竟很轻量级么。。。上午我看到cocos2d-x论坛里关于json的第三方库有人提到了两个,一个是jsoncpp,一个是libjson,我上午首选的是jsoncpp,看其编译过程,是比较复杂的转载 2012-09-07 09:39:47 · 882 阅读 · 0 评论 -
Cocos2d-x学习(十七):Cocos2d-x建工程时避免copy文件夹和库
转载地址:http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html在上一篇教程中,我们演示了如何使用VS2010来新建一个工程,并且教大家如何一步步解决头文件包含错误、lib库引用错误 及dll链接错误。但是,每次建一个工程都这么费时,岂不是很不爽,而且每个工程都要copy一份cocos2d-x、coc转载 2012-09-07 09:46:11 · 828 阅读 · 0 评论 -
[置顶] Cocos2d-x学习(十六):Cocos2d-x内存管理(二)
转载地址:http://blog.youkuaiyun.com/a7833756/article/details/7632199前一篇我们讲到cocos2d-x里的内存管理机制,以及引擎中的自动内存管理机制。一个被自动管理的对象从new出来之后到被放到autoreleasepool那么接下来,对象是如何被引擎自动delete掉的呢?首先我们要知道,cocos2d-x的引擎线程是单线程的,它不停的调转载 2012-09-07 09:45:18 · 738 阅读 · 0 评论 -
Cocos2d-x学习(十一):用cocos2d-x实现MoonWarriors(游戏场景切换和主菜单实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目在cocos2d-html alpha版推出不久,就有一位大神写了一款飞行射击类游戏,MoonWarrior,MoonWarrior cocos2d-html github地址,是用js写的,代码写的很清晰,虽然不是很懂js,但是都是基于cocos2d架构的,所以还是可以看的懂的,加上最转载 2012-09-07 09:43:17 · 1280 阅读 · 0 评论 -
Cocos2d中,我们让CCSprite也可以接受触摸。
cocos2d中,layer的主要任务就是接受用户的触摸,在看本文之前,读者最好了解ios与用户交互的方式,最好也知道cocos2d中 是怎么相应用户的触摸到各个layer的。 首先我们继承自标准CCSprite,并且遵循CCTargetedTouchDeleget或者CCStandadTouchDeleget转载 2012-09-06 16:44:18 · 879 阅读 · 0 评论 -
[置顶] Cocos2d-x学习(十四):用cocos2d-x实现MoonWarriors(暂停和恢复的实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目今天搞了半天子弹发射这块,还是没弄完,我打算做一个子弹缓冲池,将所有子弹的图片资源打到同一个图片资源中,用一个CCSpriteBatchNode来绘制,这样在很多子弹的时候,就起到优化的效果了,CCSpriteBatchNode的原理是开启一次opengl绘制,绘制所有子精灵!转载 2012-09-07 09:45:47 · 978 阅读 · 0 评论 -
cocos2d-x学习之层的触摸消息响应
单点触控:Targeted Touch Delegate方式 一个层接收触摸消息需要如下步骤: 1,在初始化阶段将此层的属性设置为接收触摸消息。例如在init()函数中添加:setIsTouchEnabled(true); 2,重载函数virtual void registerWithTouchDispatcher(void);因为默转载 2012-09-07 10:24:56 · 747 阅读 · 0 评论 -
(译)在cocos2d里面如何使用物理引擎box2d:弹球
子龙山人Learning,Sharing,Improving!(译)在cocos2d里面如何使用物理引擎box2d:弹球免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作! 原文链接地址:http://www.ra转载 2012-09-10 11:57:46 · 869 阅读 · 0 评论 -
Cocos2d-x加Box2D制作弹弓类游戏
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://mssyy2010.blog.51cto.com/4595971/847000文章原版为英文版,地址链接在文章尾部给出。原文代码版本为object-c版,本文代码版本为C++版。对原文大部分内容进行了翻译,并将对oc版的说明更改为C++版。文章cocos2d-x版本co转载 2012-09-10 11:47:03 · 1519 阅读 · 0 评论 -
cocos2d-x学习笔记3:CCTextFieldTTF的使用和再封装
CCTextFieldTTF是cocos2d-x封装的输入框控件,主要配合CCTextFieldDelegate和CCTouchDelegate两个代理接口使用,前者是用来处理文字的输入删除操作的代理类,后者是用来触发打开和关闭输入法键盘的。 借鉴网友oneRain88的“带光标的输入框”文章,在其基础上加入了密码框星号显示设置,字符长度设置,触摸弹出输入法区域设置。 文转载 2012-09-07 15:25:47 · 1963 阅读 · 0 评论 -
OPhone平台2D游戏引擎实现——场景、图层、元素(一)
上一篇我们对游戏引擎的框架进行了分析,同时也完成了一个基础的游戏引擎框架,那么这一篇我们将完成游戏引擎中的场景,图层,元素(节点)进行实现,但是在开始之前,我们可以对上一篇所介绍的框架进行完善,首先我们可以对引擎的渲染窗口(YFSGLSurfaceView)进行完善,使其具备事件处理能力和对渲染器(Renderer)进行控制。首先在YFSGLSurfaceView中声明以下成员:转载 2012-09-07 11:27:38 · 1087 阅读 · 0 评论 -
[置顶] Cocos2d-x学习(十五):Cocos2d-x内存管理(一)
转载地址:http://blog.youkuaiyun.com/a7833756/article/details/7628328前言:c++内存机制,采用new关键字实例化的对象,必须在不使用的时候手动delete掉,否则new的时候开辟的内存就不能被回收,造成内存泄露。我们来举个例子说明一下: 运行 结果,vld工具提示了存在内存泄露:转载 2012-09-07 09:44:57 · 616 阅读 · 0 评论 -
Cocos2d-x学习(十三):用cocos2d-x实现MoonWarriors(使用触屏改变飞船位置)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目今天总结一下触屏事件,做了主流飞行射击类游戏中玩家飞船随玩家的手指的移动改变位置的效果!1.触屏事件的一般步骤如果要使层监听到触屏事件(这里只总结单点触摸),这4个方法是必不可少的[cpp] view plaincopy转载 2012-09-07 09:44:21 · 879 阅读 · 0 评论 -
Cocos2d-x学习(十二):用cocos2d-x实现MoonWarriors(无限背景滚动的简单实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目之前总结过一次无线背景滚动的实现方法,基本上是基于cocos2d-html版的MoonWarriors的方法实现的,博客地址:cocos2d-x学习(九):cocos2d-x 无限背景滚动其实原理都是类似的,都是通过移动背景图,造成玩家角色移动的假象,而无转载 2012-09-07 09:43:43 · 1039 阅读 · 0 评论 -
cocos2d-x学习(二):动作Action(延时类动作)
游戏中的大部分精灵都是动态的,所以动作类是游戏引擎中不可或缺的一部分,今天就简单的记录下Cocos2d-x中常用的动作类。Cocos2d-x提供了很多基本的动作类,主要包括两大类:一类是瞬时动作(CCActionInstant),一类是延时动作(CCActionInterval),今天主要记录一下延时动作类的一般用法。1.Cocos2d-x提供的基本延时类动转载 2012-09-07 09:38:44 · 766 阅读 · 0 评论 -
Cocos2d-x学习(四):带光标的输入框
cocos2d-x为我们提供了一个跨平台的输入框,CCTextFieldTTF,初看时感觉提供的功能很少,当看到tests中TextInputTest这个例子的时候,感觉它的使用还真是很复杂,其原因无非是一些设置和判断的繁琐。不过话说回来了,输入框最主要的是跨平台监听输入,而不是样式!至于我们想要做的,就是根据游戏的需要相对封装一个简单的输入框而已!今天我就以一个简单的带光标的输入框为例子转载 2012-09-07 09:36:21 · 1409 阅读 · 0 评论 -
坐标转换的总结
//// AudioSprite.h// Ming//// Created by admin on 12-9-6.// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.//#ifndef Ming_AudioSprite_h#define Ming_AudioSprite_h#原创 2012-09-07 12:03:19 · 850 阅读 · 0 评论 -
Cocos2d-x学习(三):触屏事件(单点触屏)
cocos2d-x中的触屏事件分为多点触屏和单点触屏,而多点触屏用到的地方并不是很多,所以先主要记录一下单点触屏的用法和基本原理。一般经常用到的触屏的情况有两种:一种是Layer统一接收触屏消息,然后由程序根据需要分发给不同位置的精灵;另一种情况是自定义一个可以接收触屏消息的Sprite,比如类似于Button功能的Sprite,这就需要在定义Sprite的时候就要定义好触屏所转载 2012-09-06 16:39:26 · 1102 阅读 · 0 评论 -
cocos2d-x的声音控制
声音控制SimpleAudioEngine是单例,以下是其方法。[cpp] view plaincopy//获得SimpleAudioEngine的实例 static SimpleAudioEngine* sharedEngine(); //提前载入音频 void preloadBackgroundMusic(const char*转载 2012-09-05 17:49:09 · 1834 阅读 · 0 评论 -
主题 : 在cocos2d/cocos2d-x中,一种简单的将sprite变灰的方法
在cocos2d/cocos2d-x中,一种简单的将sprite变灰的方法 思路很简单,网上我们可以很容易的找到一种将UIImage加灰的方法,代码如下:?12345678910111213141516转载 2012-09-03 11:28:10 · 3661 阅读 · 0 评论 -
Test系列:action
1.基本动作 Cocos2d提供的基本动作:瞬时动作、延时动作、运作速度。 瞬时动作:就是不需要时间,马上就完成的动作。瞬时动作的共同基类是 InstantAction。 Cocos2d提供以下瞬时动作:放置 – Place flight->runAction(CCPlace::actionWithPosition(p));隐藏 –转载 2012-08-29 16:08:43 · 773 阅读 · 0 评论 -
在cocos2d里面如何制作按钮:简单按钮、单选按钮和开关按钮
程序截图: 当你在使用cocos2d制作一个游戏的时候,你很可能会发现,你需要的第一个东西就是“按钮”。(比如游戏开始时的菜单选择界面等)这个教程将会一步步地教你如何使用cocos2d来创建按钮。刚开始创建简单的按钮,然后再介绍开关按钮和单选按钮。 当我第一次想要在cocos2d里面添加一个按钮的时候,我是这样想的:创建一个精灵(sprite)来代表按钮,然后检测这个按转载 2012-08-29 16:07:54 · 1365 阅读 · 0 评论 -
cocos2d对动画的各种操作
内容简要:1、初始化 2、创建无图的精灵 3、设置精灵贴图大小 4、添加入层中5、对精灵进行缩放 6、对精灵款或高进行缩放 7、旋转精灵8、设置精灵透明度 9、精灵的镜像反转 10、设置精灵的颜色11、得到图的宽高 12、按照像素设定图片大小 13、在原有的基础上加xy的坐标14、设置图片锚点 15、从新排列z轴顺序 16、更换精灵转载 2012-08-29 16:06:46 · 796 阅读 · 0 评论 -
COCOS2D中对精灵的操作、对图片的各种操作
内容简要:1、初始化 2、创建无图的精灵 3、设置精灵贴图大小 4、添加入层中5、对精灵进行缩放 6、对精灵款或高进行缩放 7、旋转精灵8、设置精灵透明度 9、精灵的镜像反转 10、设置精灵的颜色11、得到图的宽高 12、按照像素设定图片大小 13、在原有的基础上加xy的坐标14、设置图片锚点 15、从新排列z轴顺序 16、更换精灵转载 2012-08-29 16:06:11 · 923 阅读 · 0 评论 -
cocos2d-x学习之层的触摸消息响应
单点触控:Targeted Touch Delegate方式 一个层接收触摸消息需要如下步骤: 1,在初始化阶段将此层的属性设置为接收触摸消息。例如在init()函数中添加:setIsTouchEnabled(true); 2,重载函数virtual void registerWithTouchDispatcher(void);因为默转载 2012-08-29 16:04:49 · 698 阅读 · 0 评论 -
Cocos2d提供的字体!共57种(有对照的字体图)
很多游戏中,便于开发就会直接采用Cocos2d提供的字体库来使用,但是因为提供的种类很多,那么Himi利用一些时间整理了57种字体样式,这些我想足够你用了;不多说下面一起来看看吧:(每张图对应11种样式的字体,字体的名字就是其样式的名字)-----------1------------------------对应字体样式源码:CCLabelTTF *my转载 2012-08-29 16:12:43 · 1618 阅读 · 0 评论 -
cocos2d-x学习之按钮Menu
//设置默认的按钮属性CCMenuItemFont::setFontSize( 30 );CCMenuItemFont::setFontName("Courier New");setIsTouchEnabled(true); // 利用sprite建立三个按钮的选择状态:普通、选中、禁止,这里的第二个参数是切割的一个图片文件。(三个按钮被放在了同一个图片中)转载 2012-08-29 16:11:07 · 1592 阅读 · 0 评论 -
cocos2d-x学习之坐标系
GL坐标系Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系。GL坐标系原点在屏幕左下角,x轴向右,y轴向上。 屏幕坐标系苹果的Quarze2D使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下。ios的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系。因此在cocos2d中对触摸事件做出响应前需要首先把触摸点转化到GL坐标转载 2012-08-29 16:04:09 · 651 阅读 · 0 评论 -
cocos2d-x学习之添加显示文字
cocos2d 中添加显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)在 cocos2d 中有三个类可以在层或精灵中添加文字:CCLabelTTFCCLabelBMFontCCLabelAtlasCCLabelTTFCCLabelTTF 每次调用 setString (即改变文字)的时候,一个新的OPE转载 2012-08-29 16:03:30 · 972 阅读 · 0 评论 -
cocos2d-x或coco2d学习之杂谈
1 所有的new出来的变量,都要加autorelease。 2 所有copy的对象也都需要autorelease 3 对于继承了CCLayer或者CCScene的类,我们可以编写构造函数也可以不编写 当我们的类显示的声明了析构函数,我们可以把对象的release操作放在析构函数里,也可以放在OnExit函数里。。例如: 我们在类的OnEnter转载 2012-08-29 16:00:34 · 764 阅读 · 0 评论 -
Test系列:Scene和Layer
1 关于CCScene的类层次: CCScene的基类为CCNode,这是一个抽象的概念.CCScene与CCNode的唯一不同是CCScene的锚点在屏幕的中心。目前CCScene还没有其他的逻辑。CCScene拥有子类CCTransitionScene,用于变化场景。 2 关于CCLayer的类层次 CCLayer是CCNode的子类 ,实现了Tou转载 2012-08-29 16:09:12 · 1024 阅读 · 0 评论 -
cocos2d-x学习之粒子系统1
Velocity(速度)每个粒子都有一个随机产生的初始速度,粒子的新速度由加速度和空气阻尼来求得Acceleration(加速度)在烟火中,每个粒子的加速度都等于重力加速度Color(颜色)粒子颜色取决于粒子的速度或生命值的大小Life(生命值)每个粒子都有一个初始的随机生命值,这个值将随着时间的推移而逐渐减小,直到等于0 你会发现,Particle Sys转载 2012-08-29 16:09:47 · 1080 阅读 · 0 评论 -
Cocos2d-x的五个主导类
Cocos2d-x 是以类似拍摄电影的劳动角色来分类的。包含有导演,场景,布景,精灵(演员),动作CCDirector: 导演,负责场景的切换以及场景的信息。如宽度,高度,旋转场景内容。CCScene: 场景. 场景包含有布景,精灵,每场戏的不同,要切换场景。游戏中可分为主界面, 游戏, 分数榜,结束界面等。CCLayer: 布景. 类似是层的概念,也可来转载 2012-09-03 15:50:38 · 716 阅读 · 0 评论 -
CCSpriteFrameCache的用法
让我们首先创建一个工程骨架--使用cocos2d工程模板创建一个新的项目并取名为AnimBear. 接下来,下载一些由我的老婆制作的熊行走的图片。(老婆会美工多好啊!) 当你解压之后,看看那些图片---它们仅仅是一张张单个的熊在行走的动画帧。但是,当你把它们连续地放映,就会看到一只熊在移动。 现在,把这些图片加到工程里面,然后基于这些单个的图片来创建动画。然后转载 2012-09-03 15:49:59 · 693 阅读 · 0 评论