cocos2dx
tianxiawuzhei
热爱技术,喜欢探究,喜欢记录和分享。
展开
-
cocos2dx lua找不到导出类
问题:今天遇到一个很奇怪的问题,我把C++中的类导入到lua,在lua端调用,结果,在调用时,总是报attempt to index global 'GmIPay' (a nil value),但是通过linux nm命令查看最终生成的xx.so文件,发现相应的类(GmIPay)已经包含在里面了,但是在lua端调用的时候,确总是报找不到。解决:1、开始怀疑是不是C++导入到l原创 2015-01-28 19:57:06 · 918 阅读 · 1 评论 -
cocos2dx android apk 在模拟器上运行失败
问题:今天接了某个平台的支付SDK时,在真机上能够运行,但是运行在电脑模拟器(bluestacks)时,确启动不了,报错:E/AndroidRuntime(11861): FATAL EXCEPTION: mainE/AndroidRuntime(11861): java.lang.ExceptionInInitializerErrorE/AndroidRuntime(11861)原创 2015-01-29 14:57:55 · 4014 阅读 · 0 评论 -
tolua++使用记录(1)
1、有个功能需要从C++回调lua的函数,于是我就仿照menuItem的做法,注册一个lua函数到C++中 ,我把C++中的类通过tolua++工具导入到lua,类的pkg文件如下:$#include "xxx.h"class xxx{public:void registerScriptTapHandler(int nhandle);void unregisterScr原创 2015-02-05 18:08:35 · 776 阅读 · 0 评论 -
cocos2dx 2.1.3编程记录(1)
问题1、我的过程是这样的,我先建立了一个支持lua的cocos2d-x的项目,还没有写任何的代码,然后编译,说找不到cocos-ext.h这个文件,然后包含路径以及添加链接库,然后编译通过,但是执行的时候,出现了链接错误如下:liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber1>CCLuaEngin原创 2015-01-20 20:00:30 · 2708 阅读 · 1 评论 -
cocos2dx: 360平台接入记录(1) - 从游戏界面转到福利界面,在转会到游戏界面黑屏
问题:cocos2dx游戏接入360平台,出现一个问题从游戏界面转到福利界面,在转会到游戏界面黑屏,通过log日志,也发现游戏的activity中的onDestroy函数执行了。protected void onDestroy() {// 游戏退出前,不再调用SDK其他接口时,需要调用Matrix.destroy接口 Log.d("", "onDestroy+++++原创 2015-02-07 15:57:21 · 1834 阅读 · 0 评论 -
cocos2dx- call to OpenGL ES API with no current context(logged once per thread)
一、出现的问题: 在使用JNI从Java(Android)侧 回调C++(Cocos2d-x)的函数返回消息,Cocos2d-x上的界面给花掉了 看看 Eclipse的Log中,显示一、出现的问题: 在使用JNI从Java(Android)侧 回调C++(Cocos2d-x)的函数返回消息,Cocos2d-x上的界面给花掉了 看看 Eclipse的L转载 2015-02-07 10:41:45 · 9556 阅读 · 0 评论 -
cocos2dx 2.1.3编程记录(2)
1、对任意的单独的Node节点,如果没有设置大小,那么设置锚点是没有意义的,设置了大小之后,设置锚点才有意义。 2、menu即使内部已经包含了一些item,但是,如果没有设置大小,menu是不会根据item计算大小的。 3、需要把EXCEL文件转换成utf8编码的csv文件。 现在是这样处理的: 第一步,用Excel创建文件,另存为 .csv 格式; 第二步,用记事原创 2015-01-20 20:04:24 · 515 阅读 · 0 评论 -
cocos2dx编程记录(3)
9、使用Android ndk-stack tool --可参考 1)、adb logcat -v threadtime 先使用此命令设置logcat,具体含义,待查。 2)、然后把出错信息从ecplise中拷到一个文件如foo.txt,注意: The tool looksfor the initial line containing starts in the logca原创 2015-01-21 19:48:56 · 657 阅读 · 0 评论 -
在Quick-cocos2dx中使用云风pbc解析Protocol Buffers,支持win、mac、ios、android
本例主要介绍 如何将 pbc 集成到quick-cocos2dx框架中,让我们的cocos2dx客户端Lua拥有编解码Protocol Buffers能力。参考:云风pbc的用法:http://www.cnblogs.com/ghost240/archive/2013/08/12/3253092.html本例使用的项目位置:https://github.com/miao转载 2015-01-22 17:10:06 · 1170 阅读 · 0 评论 -
cocos2d-x lua 中使用protobuf并对http进行处理
cocos2d-x lua 中使用protobuf并对http进行处理本文介绍 cocos2d-x lua 中使用http 和 基于cocos2d-x 对lua http的封装(部分ok)本博客链接http://blog.csdn.net/vpingchangxin/article/details/24458051protobuf Google的一个很好用的传转载 2015-01-22 17:22:39 · 1193 阅读 · 0 评论 -
cocos2dx 3.0遇到的问题解决记录
1、使用命令创建新项目: cocos new -p com.wegame.pig -l cpp -d E:\project\WePigNew FlappyBird2、导入VS2012中出现的错误: Cocos2d-x 3.0 Alpha 1开始 对目录结构进行了整合。结果有些附加项目也被在项目中被精简出去。比如说如果你需要使用CocoStdio导出的JSON、或使用Exte原创 2015-01-20 19:55:27 · 10883 阅读 · 1 评论 -
cocos2dx代码收集 (1)
1、cocos2d-x 2.2.2在lua中更换CCSprite的图片 --lua --获取场景 local scene= CCDirector:sharedDirector():getRunningScene() --创建精灵 local testSp = CCSprite:creat原创 2015-01-21 17:12:43 · 523 阅读 · 0 评论 -
基于Quick-cocos2d-x的资源更新方案 一
昨天写了一篇关于更新方案的理论 游戏开发:通过路径搜索优先级来进行补丁升级(从端游到手游) 今天继续细化一下由于新项目采用的是Quick-cocos2d-x,那我就直接给出我基于Quick-cocos2d-x-master( > 2.2.3 rc) 的更新方案吧 此更新方案要解决以下几个问题一、资源、代码在线更新二、framework、update模块自更新转载 2015-01-24 09:49:01 · 659 阅读 · 0 评论 -
cocos2d-x编译release以及NDK相关选项
win下cygwin编译时: 方法1: 命令: build_native.sh NDK_DEBUG=1 V=0 其中,NDK_DEBUG为0则表示为release版,为1表示为debug版。V为0则显示简要编译信息,为1显示详细编译信息(会显示具体编译指令)。 方法2: AndroidManifest.转载 2015-01-23 11:27:15 · 4964 阅读 · 0 评论 -
protocol介绍网址
一、Google Protocol Buffers 概述:原文地址:http://shitouer.cn/2013/04/google-protocol-buffers-overview/原创 2015-01-22 17:44:53 · 515 阅读 · 0 评论 -
Hello, Cocos2d-x
女儿从两岁半开始接触iPad,在这个年龄段也只有一些幼教类游戏适合她玩。虽然知道iPad玩久了对视力有伤害,但有时候还真拗不过果果,索性 也就让她玩一会儿。之前对智能终端上的东西不是很在意,也没啥兴趣,这大概与当年在大学时做Win32 GUI开发的糟糕经历多多少少有点关系。不过智能终端是大势所趋,历史的潮流不能违抗。虽然自己并非以Android/iOS编程为主业,但适当学习学习 总归没有坏处,转载 2015-02-26 11:11:29 · 666 阅读 · 0 评论 -
<cocos2dx 随记> 关于cocos2dx接Android sdk的一些坑
简单说说UI线程 :在Android中,有个非常重要的家伙非常霸道,那就是UI线程。这霸道之一:不能被阻塞。 之二:系统对每一个组件的调用都从UI线程分发出去。简单说说openGL线程:但凡cocos2dx 启动的绘制线程都是openGL线程。就这么多任何SDK界面的调用,必须从UI线程中调用,所以需要放到主线程中。如果我们直接从GL线程中调用,轻则调用不了,重者程序蹦转载 2015-02-26 14:57:47 · 4622 阅读 · 0 评论 -
build_native.sh文件记录(1)
1、cygwin查看环境变量的方式env2、在使用build_native.sh编译android工程时,需要几个环境变量:APP_ROOT="$DIR/.." -- 工程自己管理APP_ANDROID_ROOT="$DIR" -- 工程自己管理COCOS2DX_ROOT -- coco原创 2015-02-28 15:27:01 · 1756 阅读 · 0 评论 -
NDK官方开发指南翻译之 Android.mk
Android.mk 文件语法指南前言:---------------------本文档描述了c和c++编写的程序用Android NDK编译时,编译文件Android.mk的语法结构。为了便于理解下面的内容,假设你已经阅读了前面OVERVIEW部分,了解了它们的作用和用法。概要:---------An转载 2015-02-28 17:15:01 · 552 阅读 · 0 评论 -
Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
我在先前的两篇post编写Android.mk中的LOCAL_SRC_FILES的终极技巧编写 android.mk 中 LOCAL_C_INCLUDES 的技巧中提到了一些编译android.mk文件的技巧, 由于都涉及到了shell命令, 导致不能完全在windows下工作, 下面我使用纯净的makefile语法重新编写了脚本# 配置自己的源文件目录和源文件后缀名转载 2015-02-28 17:40:50 · 2416 阅读 · 0 评论 -
cocos2dx android 爱贝支付平台接入记录
问题:今天在接入爱贝支付平台的时候,出现一个错误:01-28 18:00:05.614: E/AndroidRuntime(25801): FATAL EXCEPTION: GLThread 546601-28 18:00:05.614: E/AndroidRuntime(25801): java.lang.RuntimeException: Can't create handle原创 2015-02-27 10:26:00 · 2654 阅读 · 1 评论 -
build_native.sh文件记录(2)
问题:运行build_native.sh时,报了很多类似下面的错误:rm: 无法删除"/cygdrive/e/project/trunk/client/cocos2d-x-2.2.6/projects/Spartacus/proj.android/assets/configRes":Permission deniedcp: 无法创建普通文件"/cygdrive/e/project/tr原创 2015-02-28 16:08:07 · 1540 阅读 · 0 评论 -
import-module的注意事项与NDK_MODULE_PATH的配置
具体的语句多参考其他正确的Android.mkimport-module的功能导入外部模块的.mk文件 ,和 include基本一样。概念上的区别是include导入的是由我们自己写的.mk。而import-module导入的是外部库、外部模块提供的.mk。用法上:include的路径是.mk文件的绝对路径。而import是设置的路径指定到模块的转载 2015-02-28 17:13:01 · 572 阅读 · 0 评论 -
自动管理代码的android.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := cocos2dlua_sharedLOCAL_MODULE_FILENAME := libcocos2dlua# 遍历目录及子目录的函数define walk $(wildcard $(1)) $(forea原创 2015-03-02 10:27:21 · 469 阅读 · 0 评论 -
cocos2dx 2.2.6编译记录(1)
问题:今天在编译2.2.6的工程时,编译到extensions库时,报了一个错误,错误如下:In file included from E:/project/trunk/client/cocos2d-x-2.2.6/projects/Spartacus/proj.android/../../../extensions/CocoStudio/Armature/CCArmature.cpp:31:原创 2015-03-02 15:05:32 · 2156 阅读 · 0 评论 -
cocos2dx 布局记录(1)
情景:需要把不同数量的图片,有些情况下是一张,有些情况下是多张等等,居中放入到rootNode中,怎么做?解决:先创建一个Node,把图片(创建精灵)一个一个的放入Node中,放入完全后,再计算Node的大小,然后再把Node放入到rootNode中。原创 2015-03-19 12:35:51 · 532 阅读 · 0 评论 -
停止手打所有cpp文件到android.mk
做一个懒COCOS2D-X程序猿(一)停止手打所有cpp文件到android.mk前言:”懒”在这里当然不是贬义词,而是追求高效,拒绝重复劳动的代名词!做一个懒COCOS2D-X程序猿的系列文章将教会大家在工作中如何偷懒,文章篇幅大多较短,有的甚至只是几行代码,争取把懒发挥到极致! 一.懒人说书Android.mk中LOCAL_SRC_FILES需要罗列出所有参转载 2015-03-02 10:12:10 · 1617 阅读 · 0 评论 -
cocos2dx menu思考 (1)
1、CCMenuItemSprite首先是一个节点(继承Node),内部包含了三个子节点(m_pNormalImage,m_pSelectedImage,m_pDisabledImage),这三个子节点分别对应着CCMenuItem普通状态,选中状态和禁止状态。2、初始化方法:CCMenuItemSprite * CCMenuItemSprite::create(CCNod原创 2015-03-19 16:13:44 · 535 阅读 · 0 评论 -
缩放系数计算
把一个物品放入到一个背景框中,背景框可能比物品大,也可能比物品小,那么就需要进行缩放,才能是物品很好的放入背景框中。缩放系数: local scale = itemBgSize.width/itemImage:getContentSize().width itemImage:setScale(scale-0.1)也可以:local scale = (itemBgSelectS原创 2015-03-19 16:36:17 · 4699 阅读 · 0 评论 -
cocos2dx android返回键- 弹出退出对话框
第一种方式:直接修改Cocos2dxGLSurfaceView类中的onKeyDown方法,修改如下:@Override public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) { switch (pKeyCode) { case KeyEvent.KEYCODE_BACK: Log.原创 2015-03-16 12:31:44 · 4220 阅读 · 0 评论 -
Application.mk 向源代码传递宏定义
在看cocos2dx代码时,经常看到#if defined(COCOS2D_DEBUG) && (COCOS2D_DEBUG > 0)或者#if COCOS2D_DEBUG > 0但是在源文件中又没有看到在那里定义,网上搜索了一下,发现是在Application.mk 中定义的,类似于:APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -DCC_原创 2015-03-04 16:14:43 · 2219 阅读 · 0 评论 -
cocos2dx --- 按钮点击居中放大
原文地址:http://blog.csdn.net/notes_abc/article/details/32339235自定的简单按钮,直接贴代码:[cpp] view plaincopyprint?MenuItem* MenuItemNode::create( const char* normal,Ref*转载 2015-03-19 19:39:00 · 1599 阅读 · 0 评论 -
cocostudio骨骼动画 -- 原点
1、如果把一个元素如CCSprite加入到CCArmature中,那么必须先要知道CCArmature的原点位置,经过测试发现:原点大致在(下图所示),x居中,y位于底部。2、CCArmature本身继承与CCNode,所以可以设置锚点和位置,但是CCArmature的大小,也可以说是上下左右的边界如何计算还不是很明白。看下面的代码:void CCArmatur原创 2015-03-26 13:26:32 · 1019 阅读 · 0 评论 -
cocos2d-x游戏开发(四)游戏主循环
欢迎转载:http://blog.csdn.net/fylz1125/article/details/8518737终于抽时间把这个游戏写完了。由于没有自拍神器,所以把它移植到了Android上,用我的戴妃跑的很欢啊。自此,我算是完成了一个功能比较完善的游戏了。麻雀虽小,五脏俱全,该有的都有,不该有的估计也有,嘿嘿。这几天把写这个游戏的经历和学习过程整理一下,多写几篇博转载 2015-03-16 20:18:52 · 496 阅读 · 0 评论 -
Cocos2dx实现翻牌效果(CCScaleTo与CCOrbitCamera两种方式)
由于项目需要实现翻牌的效果,所以自己在完成的过程中将这篇文章写下来,想想还是觉得有点艰辛。开始在网上找解决的办法找了很久,基本上就是一种解决方案,就是用CCOrbitCamera这个Action类来模拟实现翻牌的效果。但是我在使用的效果中始终不如人意。用CCOrbitCamera类实现倒是能实现,但是如果将牌移动到左上、左下或者其他不在屏幕中心的位置那这个效果就不行了,翻牌转载 2015-03-26 12:58:04 · 4515 阅读 · 0 评论 -
cocos2dx 由小到大弹出对话框
问题:有些UI界面会需要一个类似与对话框的东西,弹出对话框时,如何添加一个由小到大的效果实现: function actionEndFunc() end dialogBg:setScale(1/100) local actionScale = CCScaleTo:create(0.3, 1) local callfunc = CCCallFun原创 2015-03-26 18:00:19 · 736 阅读 · 0 评论 -
cocos2dx-2.X版本的EditBox问题
1、cocos2dx-2.X版本的EditBox问题假如你写了一个UI界面,这个界面进场时有个从上到下,或者从左到右的动画,使用CCMoveBy之类的动画实现,恰好你们界面中包含有一个EditBox输入控件,那么这个EditBox控件在IOS上面输入时会出现问题(大致就是位置不对,输入时),而android上面不会出现。如果没有动画,则不会有问题。解决方法:在动原创 2015-03-26 17:55:00 · 1206 阅读 · 0 评论 -
cocos2dx 2.x定时器分析(1)
1、创建全局定时器,bool CCDirector::init(void)函数中,调用 // scheduler m_pScheduler = new CCScheduler();2、在每帧渲染前,都会调用CCScheduler的update方法// Draw the Scenevoid CCDirector::drawScene(void){ // calculat原创 2015-03-27 11:41:46 · 1147 阅读 · 0 评论 -
cocos2dx-2.x CCString代码
1、继承自CCObjectclass CC_DLL CCString : public CCObject2、如果通过create创建,会加入自动释放池,通过new创建则不会,所以使用时要记得retain,然后释放时使用release。CCString* CCString::create(const std::string& str){ CCString* pRet =原创 2015-03-27 10:01:18 · 1598 阅读 · 0 评论 -
cocos2dx 2.x 每帧渲染分析
1、java端1、Cocos2dxRenderer类 @Override public void onDrawFrame(final GL10 gl) { /* * No need to use algorithm in default(60 FPS) situation, * since onDrawFrame() was called by system 60 time原创 2015-03-27 11:05:44 · 1670 阅读 · 0 评论