cocos2d-x/JSB/Html5
HEHE
好人
展开
-
cocos2dx 3.2在android下断点调试
1. 先新建一个cocos2dx 的项目2.将新建出来的工程导入到eclipse中在eclipse中项目的几个属性配置如下。在android中选择一个版本打上勾。最好不要太高。在这里配置完后需要在AndroidManifest.xml里做出相应的修改minSdkVersion需要和前面设置的版本的levelId相同。然转载 2015-10-14 12:52:49 · 2178 阅读 · 0 评论 -
【COCOS2DX-BOX2D游戏开发之三】 读取tiledmap的tmx阻挡
做一款像素游戏项目,需要读取TMX文件中的阻挡区域,生成box2d的fixture,来做阻挡 使用cocos2dx版本: 2.2.21.在tmx文件中创建一个"Physics"的层,用来存放编辑器中生成的各种阻挡块编辑器中主要有polygone, polyline,box和circle4种,其实box也属于polygone2.我的til转载 2014-08-21 11:34:09 · 2549 阅读 · 0 评论 -
std::map 反向遍历
1、反向遍历:可以使用反向迭代器reverse_iterator反向遍历map映照容器中的数据,它需要rbegin()和rend()方法指出反向遍历的起始位置和终止位置。#pragma warning(disable:4786)#include #include#include using namespace std; int main() { map转载 2014-07-25 11:00:49 · 30484 阅读 · 0 评论 -
C++中消息自动派发之一 About JSON
游戏服务器之间通信大多采用异步消息通信。而消息打包常用格式有:google protobuff,facebook thrift, 千千万万种自定义二进制格式,和JSON。前三种都是二进制格式,针对C++开发者都是非常方便的,效率和包大小(数据冗余度)也比较理想。而JSON是字符串协议,encode和decode需要不小的开销。500字节json字符串解析大约需要1ms左右。JSON在脚本语言中非常转载 2014-07-02 09:46:30 · 1523 阅读 · 0 评论 -
sublimeText 使用技巧及配置Lua开发环境
(插件 兼容中文 cTags 函数跳转 编译 lua )在朋友的介绍下使用上了subLime Text 编辑器,发现有很多很好的特性适合在项目中开发lua程序,例如在编辑器中支持项目形式的文件夹管理,非常方便的夸文件跳转,符号查找,跳转到函数定义,往回跳转,编译脚本等等。一个配置好的sublime Text 环境能满足VS以及VAX的很多编辑代码常用功能。subLime Text被 称为专转载 2014-06-06 09:49:47 · 4626 阅读 · 0 评论 -
使用BabeLua在cocos2d-x中调试Lua
使用BabeLua在cocos2d-x中调试LuaBabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能。如何安装BabeLua请参考《BabeLua系列1—BabeLua入门》设置Cocos2d-x项目在VS菜单上选择:转载 2014-06-05 12:56:20 · 18227 阅读 · 4 评论 -
在cocos2d-x中使用LUA
在cocos2d-x中使用LUA1转载 2014-05-13 13:39:42 · 1402 阅读 · 0 评论 -
shader 学习
学习 相关的例子" style="margin:0px; padding:0px; border:0px none; list-style:none">Shader教程系列XNA Shader编程教程1-环境光照原文地址:http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!424.entry。没有实用价值,但这应该是转载 2014-03-27 12:25:48 · 1032 阅读 · 0 评论 -
cocos2d-x 释放场景、动画及UI的方法
场景、动画、UI均用到了单例加载方式。释放时除了删除掉内容外还要清理所有的单例。 CCArmatureDataManager::purge(); SceneReader::purge(); ActionManager::purge(); GUIReader::purge();转载 2014-03-25 09:49:40 · 2201 阅读 · 0 评论 -
Cocos2d console使用手册
背景Cocos2d console是一个可以为Cocos2d-html5和Cocos2d-JSBingding极大简化游戏创建和环境配置过程的工具。在Cocos2d-JS v3.0 alpha版中,由于重构了大量以前C++风格的API并为Javascript开发者提供了很友好的API设计,JSB的API也如此改造以保证Html5和JSB之间的代码共享,详细信息请参见发布说明。更重要转载 2014-04-03 13:39:58 · 3399 阅读 · 0 评论 -
Pixel Perfect Collision Detection (Using Cocos2d-x)
//// CollisionDetection.h// Created by Mudit Jaju on 30/08/13.//// SINGLETON class for checking Pixel Based Collision Detection#ifndef __CollisionDetection__#define __CollisionDetection__#转载 2014-04-16 18:21:13 · 2173 阅读 · 0 评论 -
【CocoStudio游戏开发之一】制作多分辨率UI布局
如何快速地制作UI, 是开发游戏时不得不面临的问题. Cocos2d-x 经历了1.0时代的固定位置, 2.0时代的相对位置, 在3.0时代引入了全新的GUI机制. 新的GUI机制, 类似于Android的GUI系统, 功能强大但如果手动编码来实现就很繁琐. CocoStudio对Cocos2d-x的新的GUI系统进行了全面的支持, 可以让大家在快速开发UI的同时也享受到Cocos2d-x强大转载 2014-08-21 11:34:49 · 1264 阅读 · 0 评论 -
【COCOS2DX-游戏开发之三三】TMX边界控制与小窗口内预览TMX
做一款像素游戏,需要确定地图的边界,保证人物的位置位于屏幕中央,到达地图左边界,地图位置不变,人向左走,到达右边界,地步位置不变,人向右走如:地图左边,右边,上边空出的边界,还有下方留出操作按钮这种游戏一般情况下地图会大于窗口大小,人物要保持在屏幕(或窗口)中央,设置地图的位置,地图的位置应该是[win_size.width– Map_SpaceX –map_size.转载 2014-08-21 11:35:32 · 828 阅读 · 0 评论 -
android ndk 提高编译数度(cpu 多核编译)
1.开启多核编译: ndk-build -j4注: -j4就是指定4核编译,如果cpu是8核那可以指定-j8,通过指定这个,编译速度提高4倍原创 2015-10-10 11:52:48 · 2975 阅读 · 0 评论 -
简单的镜头跟随
void HelloWorld::setCenterOfScreen(CCPoint p){CCSize s = CCDirector::sharedDirector()->getWinSize();int x = MAX(p.x, s.width / 2);int y = MAX(p.y, s.height / 2);x = min(x, map->getMa原创 2015-07-17 13:53:36 · 1805 阅读 · 0 评论 -
cocos2d-x-Tiled 地图坐标 转换
一、地图坐标Tiled地图一般常见的有3种不同的地图类型,即:普通、45度、45度交错,但是在所有类型的地图中的坐标都是按格子数算的,比如坐标(0,0)代表左上角的第一个格子,需要注意的是,由于3种类型地图的视角不同,所以坐标的起始与分布也有点差别,具体看下面几张图就明白了:1、普通直角地图坐标 2、45度地图坐标 3、45度交错地图坐标 二、地图锚点tiled地图的锚点默认的是在左下角,也就转载 2015-07-14 09:46:49 · 6248 阅读 · 0 评论 -
cocos2dx ScrollView不影响滑动,取消弹性小技巧
有时候需要用到ScrollView 但是又不想有那烦人的弹性效果,自然会想到setBounds(false),可是实践过后会发现,这个函数把滑动惯性也给取消了,于是就是你滑多少,滚动多少,用户体验极差。。。解决这个方法很简单:1. 继承ScrollViewDelegate2. 实现虚函数 virtual void scrollViewDidScroll(ScrollVie原创 2015-05-20 13:07:03 · 8994 阅读 · 0 评论 -
cocos2dx 图片平铺
Texture2D *texture = Director::getInstance() -> getTextureCache() -> addImage("Santa.png");Texture2D::TexParams tp = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};texture -> setTexParameters(tp);aut原创 2015-05-20 13:05:09 · 2313 阅读 · 0 评论 -
【计算几何】点在多边形内部
问题描述:已知点P(x,y)和多边形Poly,判断点P(x,y)是否在多边形内部。基本方法:射线法以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外部,考虑沿着L从无究远处开始自左向右移动。遇到和多边形的第一个交点的时候,进入到了多边形的内部,遇到第二个交点的时候,离开了多边形...因而当L和多边形的交点数目C是奇数的时候,P在多边形内转载 2015-04-11 17:41:18 · 2112 阅读 · 0 评论 -
cocos2dx实现自定义2D地形
先来看看效果:对于2D地形的生成,可以采用2种方法,1.使用建模软件将2D的地形模型构建好直接使用Sprite3D导入 优点:不需要太多程序控制,只是简单的导入缺点:需要建模,而且还要转换成2D坐标,很难使用chipmunk加入物理特性 2.根据自定义数据使用顶点数据和shader。下面来讲解如何实现,转载 2015-03-24 15:04:44 · 3241 阅读 · 0 评论 -
cocos2d-x 物理引擎
你的游戏进展的很顺利。游戏中添加了精灵对象、游戏机制,你努力编码还是有回报的。你现在开始觉得:“嗯,这是一个能让人玩的游戏了”。当你意识到你的游戏需要模拟现实世界的物理环境时,你该怎么做呢?你会猜:应该会涉及到碰撞检测、重力、弹力和摩擦力。没错,猜对了!这一章就来讲物理引擎和如何使用物理引擎。让我们来探讨一下,我们什么时候、什么地点、为什么会使用物理引擎吧。物理引擎很可怕,我真的需要它么?转载 2015-03-24 14:12:40 · 10362 阅读 · 0 评论 -
使用Promise/Deffered模式优化coco2d html5中的游戏动画!
问题:在使用cocos2d html编写一系列的战斗动画时经常遇到一个精灵动作完成时需要继续播放另一个精灵动作 如下://动作1actionSetp1: function() { ...var move = cc.MoveTo.create(1, cc.p(100,100)); //移动完后执行,actionStep2函数var call = cc.Cal转载 2014-03-07 15:28:24 · 1326 阅读 · 0 评论 -
Cocosbuilder的一些tips
因为cocosbuilder这个东西网上的教程也好,官方文档也好都相当不全。对里面的一些重点在这里做一下记录,方便查看。如何添加timeline callback和sound effects按住option键点击对应的关键帧,然后填入selector的名字。然后在js里面写出这个selector就ok。Sound effects是同样的道理。关于资源转载 2014-03-06 15:39:02 · 1179 阅读 · 0 评论 -
COCOS2D-X 单机游戏防八门神器修改数据
游戏辛辛苦苦的做完了,但是使用八门神器可以轻松的修改你的重要数据(金币,道具数量),哈哈哈,那么恭喜您,您挣不到一分钱!说的有点危言耸听了,毕竟知道八门神器这个工具的不是非常多,而且使用条件比较苛刻,但是我们不能掉以轻心,他完全可以修改完成了,将存档放在网上,这样我们就十分被动了! 一.什么是八门神器不明白八门神器为何物的请自行Google!这里我引用百度百科(点击这里:h转载 2013-09-11 17:20:42 · 4354 阅读 · 2 评论 -
COCOS2D-X 抖动效果 CCShake
游戏中屏幕抖动是一个非常炫的效果,那么在COCOS2D-X 中该怎么实现呢?直接上代码:CCShake.h#ifndef __SHAKE_H__#define __SHAKE_H__#include "cocos2d.h"USING_NS_CC;class CCShake : public cocos2d::CCActionInterval{publ转载 2013-09-11 17:12:53 · 10212 阅读 · 0 评论 -
[cocos2d-x]File文件的IO读写处理
为了保存自定义数据文件,需要保存文件和读取文件,也就是File的IO处理;针对cocos2d-x我们可以通过CCFileUtils::sharedFileUtils()->getWriteablePath()获取到可读写的文件目录,其实是Caches目录。关于file的操作,我们要明白几个概念:File :文件对象,用于创建文件,操作文件fopen:打开转载 2013-07-26 10:32:54 · 943 阅读 · 0 评论 -
Java与JNI数据类型对照表
VvoidvoidN/AZjbooleanboolean 8 unsignedIjintint 32Jjlonglong 64转载 2013-02-07 11:34:13 · 1781 阅读 · 0 评论 -
cocos2d-x 使用ndk编译 x86 出现 in function Curl_resolv_timeout: undefined reference to 'sigsetjmp' 错误
解决方法:只需将android-ndk-r8/platforms/android-14/arch-x86/usr/include 下面的sched_h 替换和android-ndk-r8/platforms/android-14/arch-x86/usr/liblibc.so 替换即可下载地址:http://download.csdn.net/detail/z原创 2013-01-23 22:36:36 · 2665 阅读 · 2 评论 -
如何实现跳跃中的减速和自由落体
没有用物理引擎,所以只能重新造轮子了,不过这是很简单的一个模拟。首先我们学过简单的物理知识知道,跳上去的时候,有一个初速度V,越高,速度就越小,直到速度为0的时候就掉下来,掉下来的时候速度越来越大。如果我们能模拟这个过程那就完成了。其实很好模拟 这个函数是写在schedule的update(float dt) 函数里面每秒默认的60帧,dt就相当于转载 2013-01-05 10:49:19 · 1477 阅读 · 0 评论 -
cocos2d-x UI之技能冷却按钮
技能冷却的效果跟魔兽世界中的技能冷却类似,功能如下:技能图标点击时会有按下效果,抬起后开始冷却计时,冷却计时技术后该图标才可以再次进行点击。对应的图片资源: 注意:添加child时要注意上下层 最下方是CCMenuItemImage 按钮图片 其次是模版图片 半透明模版图片 最上方是CCProgressTimer 图片是最下图转载 2012-10-11 09:55:43 · 5797 阅读 · 4 评论 -
45度斜角地图菱形坐标转换
我们要做一个45度游戏地图中,那么如何判断鼠标点中了哪一个碎片呢??如图:也许你想到通过解两个直线方程(点斜式):不过这是个笨办法,那么有更简单的办法吗?开门见山:***********************************N=int(x/TileW - y/TileH)M=int(x/TileW + y/TileH)***********原创 2012-10-11 09:52:12 · 20596 阅读 · 3 评论 -
cocos2d-x编译到android平台后,增加返回键和菜单键的支持
在头文件中增加函数virtual void keyBackClicked();//android返回键virtual void keyMenuClicked();//android菜单键在init()函数中增加语句this->setIsKeypadEnabled(true);//android 返回键和菜单键支持然后实现这两个函数就行了原创 2012-04-18 09:49:11 · 4520 阅读 · 1 评论 -
如何解决cocos2d-x显示瓦片地图黑线的问题
使用cocos2d-x显示瓦片地图,发现两个瓦片衔接的地方有黑线,找了一下解决方案: 第一种: 修改 ccConfig.h 将 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0 改为 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1 第二转载 2012-04-17 09:54:17 · 1875 阅读 · 1 评论 -
COCOS2D-X 停止手打所有cpp文件到android.mk
Android.mk中LOCAL_SRC_FILES需要罗列出所有参与编译的文件,这样在.cpp文件少的时候还可以一个一个添加,当有几百个文件的时候会十分的痛苦!我们下看看TestCpp工程中的Android.mk文件: 这只是节选的一部分,大概只有50个左右吧,除数量多之外让我们看看下面的情况:1改变了其中一个文件名就得修改mk文件,痛苦之处显而易见,而且转载 2013-09-11 17:25:13 · 7380 阅读 · 3 评论 -
实现 Cocos2d-x 全局定时器
cocos2d-x 中有自己的定时器实现,一般用法是在场景,层等内部实现,定时器的生命周期随着它们的消亡而消亡,就运行周期而言,相对最长的是场景,如果在多个场景切换并且保持定时器的运行,那我们就需要定义一个自己的 全局定时器。平时所使用的定时器,我们可以直接使用,是因为 CCNode 帮我们实现了定时器的封装,一个简单的做法,是定义个全局的静态 CCNode 对象,在程序运行之初初始化,并转载 2013-12-06 11:16:07 · 1783 阅读 · 0 评论 -
蔡勒(Zeller)公式
//week:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六//century:世纪(前两位数)//year:年(后两位数)//month:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)day:日getTheWeek(原创 2014-01-02 11:05:07 · 3497 阅读 · 1 评论 -
cocos2d-html5学习记录
1. scene的onEnter必须调用父类构造方法this._super();2.建议用cc.DrawNode代替cc.drawingUtil3.res.js中的变量可能与其他文件中的变量冲突4.jsb时,this.initWithFile没有,可能是个坑,改用withFrame之类方法5.ctor构造函数,new时调用init初始化函数,手动调用onEn转载 2014-03-06 15:40:28 · 2430 阅读 · 0 评论 -
cocos2dx-jsb 跨语言调用
1:C++中调用js方法:问题:ios中当用户通过home键将游戏转入后台时,调用js中的暂停游戏方法;AppDelegate::applicationDidEnterBackground() 和 applicationDidEnterForeground()方法是C++方式处理程序进入后台与前台的代码,在此处添加C++调用js的代码://version 2.1.3Sc转载 2014-03-06 15:30:33 · 4973 阅读 · 0 评论 -
Xcod Resources 自动更新
find ${SRCROOT}/../Resources -exec touch {} \;原创 2014-02-19 16:06:13 · 888 阅读 · 0 评论 -
jsb 自动绑定
[cocos2dx-JSB篇]使用JSB-Binding(自動綁定篇)文章撰寫日期︰2013/09/09 12:20文章更新日期︰2014/01/20 11:27文章更新次數︰5本篇cocos2dx使用版本︰v 2.1.4一、前言使用Javascript攢寫遊戲,在Web、Android、IOS和Win32平臺同步發佈已成為開發趨勢。但由於Java转载 2014-02-18 09:55:55 · 3230 阅读 · 0 评论