Cocos2d-X学习
文章平均质量分 84
oneRain
等你发现时间是贼了,它早已偷光你的选择!
展开
-
Cocos2d-x学习(一):HelloWorld
Cocos2d-x是Cocos2d的另一个子分支,是跨平台的,支持android,ios,bada等系统,因为其底层是用c++实现的,绘制则是使用的OpenGL ES 1.1详情请访问其官方网站:http://www.cocos2d-x.org/中文官网:http://cn.cocos2d-x.org本文主要记录一下在android平台下的环境搭建,我使用的操作系统是ubuntu原创 2012-04-04 19:21:44 · 8177 阅读 · 2 评论 -
Cocos2d-x学习(十):cocos2d-x 2.0版本中CCScrollView的用法
cocos2d-x 2.0版本之后提供了许多控件,其中就包括ScrollView,之前总结过一个简单的ScrollView,但是问题很多,比如必须是全屏,不能是一块区域,而cocos2d-x 2.0中提供的CCScrollView中,是可以设定区域的,CCScrollView做了区域的裁剪glScissor((GLint)screenPos.x, (GLint)screenPos.y, (原创 2012-07-23 16:01:25 · 37674 阅读 · 5 评论 -
Cocos2d-x学习(十三):用cocos2d-x实现MoonWarriors(使用触屏改变飞船位置)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目今天总结一下触屏事件,做了主流飞行射击类游戏中玩家飞船随玩家的手指的移动改变位置的效果!1.触屏事件的一般步骤如果要使层监听到触屏事件(这里只总结单点触摸),这4个方法是必不可少的// default implements are used to call scr原创 2012-08-01 07:12:09 · 5557 阅读 · 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-08-26 19:25:08 · 2447 阅读 · 0 评论 -
Cocos2d-x学习(十九):iOS6中无法正常游戏横屏的解决方案
转载地址:http://www.himigame.com/iphone-cocos2dx/1000.html1.先在项目的ios目录下的AppController.mm文件中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOpt转载 2012-10-27 11:40:49 · 3564 阅读 · 0 评论 -
Cocos2d-x学习(二十):cocos2d中的容器CCArray
cocos2d-x移植于cocos2d-iphone,cocos2d-iphone的架构和设计更符合Objective-C的语法,所以cocos2d-x在移植的过程中,也引入了CCArray的概念!CCArray在设计和使用上更符合Objective-C的风格,类似于Objective-C中的NSArray!1. CCArray只是提供了一个面向对象的封装类其继承于CCObje原创 2012-11-08 22:30:30 · 21021 阅读 · 2 评论 -
Cocos2d-x学习(十八):Tiled妙用
Tiled是一款很优秀的地图编辑器,一般可以用在90°,45°角的2D游戏地图,并且被很多引擎支持,包括cocos2d,AndEngine等等!当抛开这种传统的用法,在朋友的介绍下,我发现了一种好玩的用法:编辑横版游戏的道具!其实归根结底还是编辑地图!上图显示!(密集综合症的网友请谨慎看图!)不知道各位从中可以想象到什么用途,反正我想到了jetpack的关卡设计在c原创 2012-10-28 22:47:09 · 6385 阅读 · 1 评论 -
Cocos2d-x学习(二十一):cocos2d-x引擎结构
在不同平台下,cocos2d-x的入口是不一样的,在win32平台,程序是从_tWinMain()开始的,可以在每一个cocos2d-x的程序中的main.cpp中找到。1.程序入口(1)在_tWinMain()中,创建的AppDelegate类的对象(PS: AppDelegate继承于CCApplication,在构造方法中,初始化CCApplication单例类的唯一实例原创 2012-12-08 10:53:53 · 14296 阅读 · 3 评论 -
Cocos2d-x学习(二十二):cocos2d-x中CCScale9Sprite的另一种实现
cocos2d 2.0之后加入了一种九宫格的实现,主要作用是用来拉伸图片,这样的好处在于保留图片四个角不变形的同时,对图片中间部分进行拉伸,来满足一些控件的自适应(PS: 比如包括按钮,对话框,最直观的形象就是ios里的短信气泡了),这就要求图片资源的中间部分是纯色或者是简单的渐变了!1.cocos2d中九宫格CCScale9Sprite的实现(1)原理cocos2d的实现非常原创 2012-12-08 19:40:12 · 23626 阅读 · 12 评论 -
Cocos2d-x学习(二十三):Base64解码
使用过Tiled的朋友应该都有所了解,Tiled生成的tmx格式的文件其实就是xml,唯一特殊的地方就是tmx文件中都会有一个或者多个"data"的节点,用来存放Tiled的块数据!类似于这样的格式 eJztmNkKwjAQRaN9cAPrAq5Yq3Xf6v9/nSM2VIbQJjEZR+nDwQZScrwztoORECLySBcIgZ7nc2y4KfyWDLx+Jb原创 2013-01-20 01:01:46 · 9603 阅读 · 1 评论 -
Cocos2d-x学习(二十四):vs2010使用vld检测内存泄露
cocos2d-x不仅可以做到跨平台运行,还可以做到跨平台编译调试(当然只是编译对应平台下的应用了)。众所周知,cocos2d-x是用c++编写的,而c++中最让人头疼的莫过于指针和内存泄露的问题,在windows下,cocos2d-x支持在vs下开发,这样,平时写win32项目的开发工具就可以用在cocos2d-x开发上了,善哉!今天就介绍一个检测内存泄露的工具,Visual Leak Dete原创 2013-02-06 23:48:30 · 20089 阅读 · 8 评论 -
Cocos2d-x学习(二十五):ubuntu 配置cocos2d-x
今天在ubuntu下编译了一下cocos2d-x(是linux版本的,不是android版本),并且在eclipse中配置了一下,在cocos2d-x官网上也看到了相关介绍,竟然发现了一个配置的小坑,可能是因为版本的原因,sqlite3库没有添加到TestCpp中。1.工具和库eclipse for c++cocos2d-x 2.1.1g++ (命令:sudo apt-get in原创 2013-02-16 23:19:36 · 11437 阅读 · 6 评论 -
Cocos2d-x学习(二十六):cocos2d旋转矩阵推导
cocos2d中的旋转是很常用的,其实现原理是根据变换计算出变换矩阵,也就是将所要执行旋转操作的物体的物体坐标系进行旋转,再还原到世界坐标系的过程,至于还原到世界坐标系的操作,则需要用到矩阵这个数学工具,根据旋转的角度,得到旋转的矩阵,将矩阵右乘物体上的点,得到的便是世界坐标系中的点信息。上图为物体坐标系,初始状态与世界坐标系相同,即坐标系xoy,在xoy坐标系中任意一点v(x, y)原创 2013-02-22 23:05:00 · 10965 阅读 · 1 评论 -
Cocos2d-x学习(十一):用cocos2d-x实现MoonWarriors(游戏场景切换和主菜单实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目在cocos2d-html alpha版推出不久,就有一位大神写了一款飞行射击类游戏,MoonWarrior,MoonWarrior cocos2d-html github地址,是用js写的,代码写的很清晰,虽然不是很懂js,但是都是基于cocos2d架构的,所以还是可以看的懂的,加上最近有看了原创 2012-07-30 18:35:23 · 10192 阅读 · 2 评论 -
Cocos2d-x学习(十四):用cocos2d-x实现MoonWarriors(暂停和恢复的实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目今天搞了半天子弹发射这块,还是没弄完,我打算做一个子弹缓冲池,将所有子弹的图片资源打到同一个图片资源中,用一个CCSpriteBatchNode来绘制,这样在很多子弹的时候,就起到优化的效果了,CCSpriteBatchNode的原理是开启一次opengl绘制,绘制所有子精灵!1原创 2012-08-01 18:30:58 · 4587 阅读 · 2 评论 -
解决:Win7安装vs2008编译报LINK : Internal error during IncrBuildImage问题
项目(Project)->属性(Property)->链接器(Linker)->常规(General) 下面的“启用增量链接(Enable Incremental Linking)”,将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。选择项目,属性(Property pages)->配置属性(Configuration Properties) ->C/C转载 2012-04-07 17:59:22 · 2119 阅读 · 0 评论 -
Cocos2d-x学习(三):触屏事件(单点触屏)
cocos2d-x中的触屏事件分为多点触屏和单点触屏,而多点触屏用到的地方并不是很多,所以先主要记录一下单点触屏的用法和基本原理。一般经常用到的触屏的情况有两种:一种是Layer统一接收触屏消息,然后由程序根据需要分发给不同位置的精灵;另一种情况是自定义一个可以接收触屏消息的Sprite,比如类似于Button功能的Sprite,这就需要在定义Sprite的时候就要定义好触屏所触发的操原创 2012-05-09 15:39:06 · 21131 阅读 · 7 评论 -
Cocos2d-x学习(六):cocos2d-x中的模态对话框简单实现
cocos2d-x中没有为我们提供模态对话框的实现,不过有一个分平台来实现的确认对话框的实现CCMessageBox,可以实现的对话框。可是定制性不强,可以当做系统级的提示,但是如果作为游戏中的对话框就显得不那么妥当了!自定义一个模态对话框需要注意两方面:一. 触摸事件响应的优先级别二.易扩展其实第一点是比较麻烦的一个方面,第二点主要是根据用法的不同而需要的优化设计。原创 2012-05-28 11:30:16 · 23627 阅读 · 12 评论 -
Cocos2d-x学习(五):cocos2d-x解析json(使用libjson库)
cocos2d-x很好,扩展性很好,但是其第三方库还不是很成熟,正如王哲所说,需要我们自己寻找,比如json解析和格式化。我们的网络部分需要用到json,网络部分用的比较多的就是json,毕竟很轻量级么。。。上午我看到cocos2d-x论坛里关于json的第三方库有人提到了两个,一个是jsoncpp,一个是libjson,我上午首选的是jsoncpp,看其编译过程,是比较复杂的,我耐着原创 2012-05-23 18:51:22 · 25538 阅读 · 8 评论 -
Cocos2d-x学习(四):带光标的输入框
cocos2d-x为我们提供了一个跨平台的输入框,CCTextFieldTTF,初看时感觉提供的功能很少,当看到tests中TextInputTest这个例子的时候,感觉它的使用还真是很复杂,其原因无非是一些设置和判断的繁琐。不过话说回来了,输入框最主要的是跨平台监听输入,而不是样式!至于我们想要做的,就是根据游戏的需要相对封装一个简单的输入框而已!今天我就以一个简单的带光标的输入框为例子,简原创 2012-05-16 14:50:29 · 52544 阅读 · 12 评论 -
Cocos2d-x学习(二):动作Action(延时类动作)
游戏中的大部分精灵都是动态的,所以动作类是游戏引擎中不可或缺的一部分,今天就简单的记录下Cocos2d-x中常用的动作类。Cocos2d-x提供了很多基本的动作类,主要包括两大类:一类是瞬时动作(CCActionInstant),一类是延时动作(CCActionInterval),今天主要记录一下延时动作类的一般用法。1.Cocos2d-x提供的基本延时类动作都提供了Act原创 2012-04-08 18:29:52 · 10420 阅读 · 0 评论 -
Cocos2d-x学习(七):cocos2d-x中ScrollView的简单实现
在游戏关卡选择,道具店之中经常会用到类似于ScrollView的控件,之前用AndEngine引擎的时候简单的实现了一个,(AndEngine滑动菜单传送门),考虑到手头的游戏以后也会用到,就先用cocos2d-x简单的实现了一下!原理非常类似,android中的app(比如微博,qq)也是类似的原理!1.设计思路自定义ScrollView继承于CCLayer,固定其每页的大小(i原创 2012-06-04 16:50:14 · 29215 阅读 · 7 评论 -
Cocos2d-x学习(十六):Cocos2d-x内存管理(二)
转载地址:http://blog.csdn.net/a7833756/article/details/7632199前一篇我们讲到cocos2d-x里的内存管理机制,以及引擎中的自动内存管理机制。一个被自动管理的对象从new出来之后到被放到autoreleasepool那么接下来,对象是如何被引擎自动delete掉的呢?首先我们要知道,cocos2d-x的引擎线程是单线程的,它转载 2012-08-01 10:54:57 · 4380 阅读 · 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-x原创 2012-06-07 13:09:28 · 21903 阅读 · 3 评论 -
Cocos2d-x学习(九):cocos2d-x 无限背景滚动
最近在学习飞行射击类游戏的一些开发,学到的东西确实不少,比如,无限背景滚动,子弹的缓冲池,面向组件开发等等!今天就来总结一下无限背景滚动的实现!飞行类的游戏都是基于背景的滚动,造成视觉上的假象,认为飞机在飞行,而不是“真正的向前飞”。。。1.原理滚动的原理:设定一个速度,在每次调用update(ccTime dt) 时,就根据速度和dt得到移动的偏移量,因为更新频率很快,所原创 2012-06-29 15:44:36 · 15579 阅读 · 5 评论 -
Cocos2d-x学习(十二):用cocos2d-x实现MoonWarriors(无限背景滚动的简单实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目之前总结过一次无线背景滚动的实现方法,基本上是基于cocos2d-html版的MoonWarriors的方法实现的,博客地址:cocos2d-x学习(九):cocos2d-x 无限背景滚动其实原理都是类似的,都是通过移动背景图,造成玩家角色移动的假象,而无限背景滚动就是两原创 2012-07-31 13:11:46 · 8370 阅读 · 8 评论 -
Cocos2d-x学习(十五):Cocos2d-x内存管理(一)
转载地址:http://blog.csdn.net/a7833756/article/details/7628328前言:c++内存机制,采用new关键字实例化的对象,必须在不使用的时候手动delete掉,否则new的时候开辟的内存就不能被回收,造成内存泄露。我们来举个例子说明一下: 运行 结果,vld工具提示了存在内存泄露:转载 2012-08-01 10:54:00 · 3621 阅读 · 0 评论