cocos2d-x学习笔记
小猪熊121
这个作者很懒,什么都没留下…
展开
-
cocos2d-x动画加速与减速
动画是游戏的必然要素之一,在整个游戏过程中,又有着加速、减速动画的需求。以塔防为例子,布塔的时候希望能够将游戏减速,布好塔后,则希望能将游戏加速;当某个怪被冰冻后,移动速度减缓,而其他怪的移动速度不变。cocos2d-x引擎为我们提供了很强大的接口,下面就将我实验的过程复述一遍,也方便他人。1)实现全局的加速、减速。通过设置Scheduler的timeScale,可以实现全局的加、转载 2014-07-17 00:40:54 · 720 阅读 · 0 评论 -
内存管理(3):如何优化内存使用
1. 内存优化原理为优化应用内存使用,开发人员首先应该知什么最耗应用内存,答案就是纹理! 纹理几乎会占据90%应用内存。所以尽量最小化应用的纹理内存使用,否则应用很有可能会因为低内存而崩溃。 本文介绍Cocos2d-x游戏通用的两条内存优化原理指导。(1)认识瓶颈寻找方案什么样的纹理最耗应用内存?或这些纹理会消耗多少内存?当然这个不用手动计算,只需猜测。 工具在这里转载 2014-09-21 20:37:39 · 641 阅读 · 0 评论 -
Cocos2d-x—使用TexturePacker对图片进行打包、加密
Cocos2d-x是以2的n次方的内存来加载图片资源的,也就是说如果加载一张80*80的图片,将会消耗128*128的内存,这样会浪费很多内存。这时候就需要一个工具将多张图片拼接成一张大图。TexturePacker就是这样一款工具。下载地址:https://www.codeandweb.com/texturepackerData Format:选择导出游戏引擎支持的数据类型,直接转载 2014-08-13 13:16:42 · 708 阅读 · 0 评论 -
[Cocos2d-x v3.x官方文档]纹理缓存
纹理缓存概述在游戏中需要加载大量的纹理图片,这些操作都是很耗内存和资源的。当游戏中有个界面用到的图片非常多,第一次点进这界面时速度非常慢(因为要加载绘制很多图片)出现卡顿,我们可以使用TextureCache提前异步加载纹理,等加载结束,进入到这个界面再使用这些图片速度就会非常快。Texture2D: 纹理,即图片加载入内存后供CPU和GPU操作的贴图对象。转载 2014-09-22 12:56:25 · 540 阅读 · 0 评论 -
圆与未旋转矩形的碰撞检测(上篇)
我们以Cocos2d-x Lua脚本来说明圆与未旋转矩形的碰撞检测,原理才是重点,本文参照了两种方法。第一种方法:1234567891011121314151617181920转载 2014-09-11 16:56:27 · 1738 阅读 · 0 评论 -
圆与旋转矩形的碰撞检测(下篇)
本文翻译自《Circle and Rotated Rectangle Collision Detection》,敬请勘误。圆与旋转矩形的碰撞检测本文我将解释如何实现圆和旋转矩形的碰撞检测。碰撞检测用于确定对象A是否碰撞了对象B。圆包含圆心位置x,y和一个半径。矩形包含左上角的x,y位置、宽度、长度和一个可以旋转的角度。我们假设矩形沿着它的中心点旋转。翻译 2014-09-11 16:55:31 · 2652 阅读 · 0 评论 -
整理Cocos2d-x 面试题解
网上关于cocos2d-x的面试题比较少,这里搜集和整理了一写网上关于cocos2d-x游戏开发的面试题。希望对找工作的同学有帮助。如有错误,请拍砖。 1、Cocos2d-x是怎样实现跨平台? AppDelegate 作为跨平台程序入口,在这之上做了另一层的封装,封装了不同平台的不同实现。比如我们通常认为一个程序是由 main 函数开始运行,那我们就去找寻,我们看到了在 proj.linux转载 2014-09-22 22:03:04 · 1061 阅读 · 0 评论 -
cocos2d-x 碰撞
auto rect=Rect(bullet->getPositionX(), bullet->getPositionY(), bullet->getContentSize().width, -bullet->getContentSize().height); auto collisionRect=RectApplyAffineTransform(rect, bullet->原创 2014-08-19 16:10:03 · 1254 阅读 · 0 评论 -
【论坛精华FAQ】Cocosd-x经典问题汇总 第一期
本期为您总结了Cocos2d-x论坛讨论区中开发者们在开发过程中所遇到的问题、以及其他开发者们所给提供的解决办法,供大家参考。当然,如果您有更好的解决办法,也欢迎加入 论坛 与广大开发者们一起讨论。1. 场景切换问题问题描述:我的初始场景是场景1,在场景1中我设置了触摸事件监听cocos2d::EventListenerTouchOneByOne* li转载 2014-09-03 16:09:29 · 689 阅读 · 0 评论 -
Cocos2d-x常见问题汇总 第二期
1. Q:如何在安卓上给应用程序设置透明背景?(1) NativeActivity,以Cocos2d-x 3.0 rc0为例链接:http://www.cocoachina.com/bbs/read.php?tid=196780(2) JavaActivity,以Cocos2d-x 3.2 release为例链接:http://www.cocoachina.com/转载 2014-09-03 16:10:35 · 1283 阅读 · 0 评论 -
如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能
Cocos2d-x作为一款优秀的跨平台游戏引擎,已经被越来越多的开发者使用,而在游戏中使用分享组件能够有效的提供用户粘性,通过分享回流来提高APP安装量,但是目前市面上能够在Cocos2d-x环境下使用的分享插件并不多,开发者们只能自己对原生分享SDK进行封装来实现,前一段时间友盟推出Cocos2d-x分享组件,我测试了一下,感觉还是比较方便的。集成准备:首先我简单介绍一下组件压缩包的组成转载 2014-10-06 15:40:35 · 735 阅读 · 0 评论 -
MAC下用eclipse编译cocos2d-x项目
1、将导入的cocos2d-x的Android项目原创 2014-11-08 18:16:04 · 506 阅读 · 0 评论 -
Cocos2d-x 3.1.1 学习日志17移植出现error C1083: 无法打开包括文件:“extensions/ExtensionMacros.h”: No such file or
今天在做2.x移植到3.1.1的时候候导入扩展包出现了错误,经过多方查找,最后终于把问题解决了,分享出来,给大家提供一个参考。第一步,我们需要导入三个包,导入方式:解决方案(右键)-》添加-》现有项目导入第一个libGUI.vcxproj (H:\mycompany\EditBoxTest\cocos2d\cocos\ui\proj.win32)转载 2014-10-08 16:20:36 · 890 阅读 · 0 评论 -
lua math库
函数名描述示例结果pi圆周率math.pi3.1415926535898abs取绝对值math.abs(-2012)2012ceil向上取整math.ceil(9.1)10floor向下取整math.floor(9.9)转载 2014-10-17 13:52:00 · 607 阅读 · 0 评论 -
如何将cocos2d-x项目打包成一个.exe
(release版本也一样,也可以像下列方法)下面,你要打包cocos2d-x中的Test项目成一个exe文件1:可以再cocos2d-x目录下的Debug.win32的全部复制到一个文件夹里2:然后把Test所有的资源也复制到上面说的文件夹里,这样就可以运行Test.win32.exe,但是你会发现文件夹太大,所以你必须删除一些不必要的,下面的图是debu转载 2014-12-26 16:09:31 · 1492 阅读 · 0 评论 -
如何优化cocos2d/x程序的内存使用和程序大小
全文如下:我目前正完成我的最后一个合约项目。在这个项目的最后阶段,我需要考虑的一件事情就是如何优化游戏的内存使用。 在今天的iDevBlogADay文章中,我将向大家讲述,我是如何减少25-30MB游戏内存消耗的(现在游戏消耗内存90-95MB,我还通过这个过程,消除了一些由于内存警告而引起的程序崩溃问题)。同时,我还将游戏程序的大小从25MB减少到了20MB以下(如果苹果转载 2014-09-21 20:30:10 · 731 阅读 · 0 评论 -
Cocos2d-x 地图行走的实现2:SPFA算法
本节实践另一种求最短路径算法:SPFA1.寻路算法实现上的优化 上一节我们实现的Dijkstra用了一个哈希表来保存搜索到的路径树。如果能用直接的访问的方式,就不要用哈希表,因为直接访问的方式会比哈希表更快。我们修改一下图顶点的数据结构。如下:[cpp] view plaincopyprint?转载 2014-08-11 14:20:58 · 465 阅读 · 0 评论 -
cocos2d-x 3.X 如何在android里添加广告
1,使用的是谷歌的AdMob的广告先去注册个账号吧http://www.google.com/ads/admob/ 怎么注册就不说了,注册需要翻墙,如何翻墙,自己解决,注册太长了,就那么回事,不说了。注册好后,登陆界面如下按顺序点击,填写好相关内容后,你会得到这个界面为什么是中文,google自动帮我翻译了,有时候翻译转载 2014-08-12 13:48:35 · 1305 阅读 · 0 评论 -
std::map与std::vector
参考来源:原创 2014-07-27 03:55:45 · 881 阅读 · 0 评论 -
cocos2d-x3.x 获取系统时间
struct tm *tm; time_t timep; #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) time(&timep); #else struct timeval now; gettimeofday(&tv,NULL); timep = now.tv_sec;原创 2014-07-13 01:21:22 · 4052 阅读 · 2 评论 -
cocos2d-x分享系统
cocos2d-x之新浪微博平台接入接口原创 2014-07-31 14:55:16 · 435 阅读 · 0 评论 -
cocostudio学习
快捷键:ctrl+鼠标左键原创 2014-07-13 16:39:31 · 587 阅读 · 0 评论 -
cocos2d-x3.x 游戏手柄
概述本教程将向你介绍在Cocos2d-x v3.2 rc0中如何支持iOS和Android的游戏控制器。游戏控制器的测试iOS使用以下步骤测试游戏控制器打开 cocos2dx_root / cocos2d_tests.xcodeproj选择 game-controller-test在iOS设备上构建和安装将iOS设备连接到控制器,并开始 game-contr转载 2014-08-18 12:32:43 · 2886 阅读 · 0 评论 -
cocos2d-x ARPG手游研发教程
子龙山人的博客 点击打开链接cocos2d-x ARPG手游研发教程点击打开链接转载 2014-08-19 21:27:12 · 953 阅读 · 0 评论 -
Cocos2d-x利用jni调用java层代码
jni的意思是java本地调用,通过jni可以实现java层代码和其他语言写得代码进行交互。在cocos2d-x中,如果想要在c++层调用java层的代码,就是通过jni技术。通过调用java层的代码,我们就可以在Android平台下实现一些引擎没有提供给我们的功能,或者做一些其他的功能。比如加个广告,加个分享,调用Android原生的对话框等等吧。Cocos2d-x比较人性化的是为我们封装了jn转载 2014-08-20 10:55:18 · 607 阅读 · 0 评论 -
cocos2d-x像素级触摸处理
最近研究了一下像素级的触摸处理,有时候我们用一个不规则的图形作为一个按钮,这个不规则的图形是一张矩形的png图片,很可能图片的实际有效的显示内容只占整个png图片的很小一部分,剩下的大部分都是png图片的透明区域,我们想把这部分透明区域过滤掉,实现一个触摸到真实的内容才会有按钮响应的效果。刚开始试图通过CCSprite直接获取到纹理的像素信息,但是cocos2d-x并没有给我们提供直接通过CC转载 2014-08-20 09:46:53 · 920 阅读 · 0 评论 -
Cocos2d-x JavaActivity 程序背景透明
之前发过一篇《如何在Cocos2d-x 3.0rc0中让程序背景透明》,但是由于3.0-rc0后Cocos2d-x更改为Java Activity,而不再是Native Activity,使得这种方法失效。这里以最新的Cocos2d-x 3.2 release为例,介绍如何在Cocos2d-x中让程序背景透明。一样,先上图::修改的东西不转载 2014-08-21 10:05:13 · 991 阅读 · 0 评论 -
Cocos2d-x shareSDK
Android部分集成步骤(不集成Android分享可略过此部分)注意:本节介绍的是结合Jni将Share SDK集成到coco2d-x的方式,如果您想查询“纯Java方式”的集成方法,请点击这里参考“Android 示例项目”条目的相关内容,如果您想查询“plugin-x”的集成方法,请点击这里参考“Android 示例项目”条目的相关内容。集成步骤集成到转载 2014-08-11 01:33:27 · 866 阅读 · 0 评论 -
CC_ASSERT 或 CCAssert宏 断言跟断点差不多-----------cocos2d-x
Assert - 断言 使用断言可以创建更稳定,品质更好且不易于出错的代码。当需要在一个值为FALSE时中断当前操作的话,可以使用断言。单元测试必须使用断言。 除了类型检查和单元测试外,断言还提供了一种确定各种特性是否在程序中得到维护的极好的方法。 如下代码:[cpp] view plaincopyCCAsse转载 2014-08-11 14:51:46 · 1483 阅读 · 0 评论 -
cocos2d-x 3.X 在android 中添加多盟插屏广告
效果如下注册和添加应用就不说了android部分1.先将SDK放到libs中2.AndroidManifest.xml修改如下[html] view plaincopyxml version="1.0" encoding="utf-8"?> manifest转载 2014-08-12 13:44:11 · 1348 阅读 · 0 评论 -
Cocos2d-x 地图行走的实现1:图论与Dijkstra算法
本文的实现基于Cocos2d-x 3.2。 本文,我们最终实现的地图行走效果如下2图: 下面是2张屏幕录制的gif动画图,有点大,看不到的话,耐心等待一下,或者刷新页面试试。 地图行走用于现实的地图上。1.什么是地图行走 很多游戏会有一个“世界”的概念。转载 2014-08-11 14:17:56 · 1049 阅读 · 0 评论 -
Cocos2d-x 地图行走的实现3:A*算法
我们先修改一下之前的Dijkstra的实现,让它变得更像A*的结构。然后,我们再把Dijkstra改成A*。要想对A*有更深的理解,应该先学习Dijkstra。其实A*是Dijkstra的一种改进。1.修改一下Dijkstra的实现 回顾一下之前Dijkstra的实现。Dijkstra需要从一个表Q中选出一个路径代价最小的顶点。之前我们的实现是,一开始就把转载 2014-08-11 14:24:30 · 654 阅读 · 0 评论 -
Cocostudio生成的UI,触摸屏蔽问题
在使用Cocostudio时,我们经常遇到一个比较蛋疼的问题,就是一旦添加了用Cocostudio生成的UI,则我们用程序写的按钮或者层的触摸就会被屏蔽,(因为Cocostudio生成的UI,默认的顶层控件会吞没触摸事件) 解决这一问有两种解决方案1. 在Cocostudio的UI编辑器里做手脚,设置顶层的Panel属性,把“交互”前面的勾去掉2. 在代码里处理,加载UI后,直接调原创 2015-06-26 13:51:14 · 563 阅读 · 0 评论