cocos2dx开发配置
来源:互联网 发布:带着淘宝穿古代txt书包 编辑:程序博客网 时间:2024/05/21 09:15
之前虽然将cocos2dx的hello world编译出来,但cocos2dx与平常的java开发不同。因为cocos2dx是跨平台的,所以同样可以在linux,mac及windows运行。然而android studio开发语言是java,而cocos2dx是c++写成的编码。网上鱼龙混杂,皆不能讲到开发的实质。没办法,最新的技术永远在国外,在Google上我发现了一个youtube上的视频(请先翻墙) https://www.youtube.com/watch?v=gdOkbXYsf04。
老实说,这个外国人取了巧。视频的最后不过是修改了一下字体的大小,然后重新编译。如果是大的项目呢?成千上万个文件,通过两个android-studio可以智能化更新么?答案是否定的,相对而言,unity开发将一切封装的好好的,但难碰得真正的核心。掌握核心技术,这是一个健康有为游戏应该做到的。cocos2dx就是这样的一个东西,这几天业余有时间,我试了很多次。虽然目前仍然没有找到顺手的IDE工具,但核心已然明白了。
首先开发cocos2dx,应该先了解3.x与2.x的区别,cocos2d与cocos2dx的区别。一个大版本跨越后,很多以前的资料deprecated过时了。然而其本质是跨平台和c++,了解了这些开发便不再困难。cocos2dx现在的版本真正的代码在Classes文件夹,是c++语言编写。然后通过ndk编译android.mk和application.mk来生成.so,如果想增删cpp文件,必须手动修改android.mk的源文件。如果是linux平台很容易修改实现自动,然而windows平台无法实现自动。关于mk文件编译及c++知识这里不多说,我写了一个python脚本,脚本内容如下
import os.pathimport sysimport os text = """LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d)$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external)$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos)$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos/audio/include)LOCAL_MODULE := cocos2dxLOCAL_MODULE_FILENAME := libcocos2dxLOCAL_SRC_FILES := main.cpp"""g = os.walk( os.path.abspath(os.path.join(os.path.dirname(__file__),"../../../Classes")) ) dirs = ""for parent,dirnames,filenames in g:for dirname in dirnames:d = os.path.join(parent,dirname)d = d[ d.find("Classes"):]d = d.replace("\\","/")dirs += " \\\n $(LOCAL_PATH)/../../../Classes"+dfor filename in filenames: if(filename.endswith(".h")):continuep = os.path.join(parent,filename)p = p[ p.find('Classes'):]p = p.replace('\\','/')text += ' \\\n ../../../'+p#text = text[: len(text)-2]text += """LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes"""text += dirstext += """# _COCOS_HEADER_ANDROID_BEGIN# _COCOS_HEADER_ANDROID_ENDLOCAL_STATIC_LIBRARIES := cocos2dx_static# _COCOS_LIB_ANDROID_BEGIN# _COCOS_LIB_ANDROID_ENDinclude $(BUILD_SHARED_LIBRARY)$(call import-module,.)"""f = open('Android.mk', 'w')f.write(text)f.close()
注意我将hellocpp文件夹删了,然后把main.cpp拷到jni同一目录下。在jni目录新建一个_generate_mk.py文件,内容拷进去,点击即可自动生成android.mk。通常我又建了一个bat批处理文件,一键生成android.mk,编译运行,同样在jni目录下。内容如下
_generate_mk.pycocos run -p android --android-studio --pt-23 & pause
这样我可以专注于Classes文件夹文件的编写了,而不必打开android studio了,同时所有引用到的资源放在proj.android-studio\assets。
最后不得不吐槽下,网上的东西真的是太老了。基本上无法运行,若想学cocos2dx还应该打开cocos2dx\tests\cpp-tests\拷过去编译完美运行。
PS: 虽然android-studio有支持cocos2dx直接编译运行的插件,但我仍建议使用vs2012以上版本或codeblocks做为开发IDE。本人使用codeBlocks配置菜单->工具为上面的bat文件,设置输出到工具输出窗口,并配置快捷键为F1。上面的脚本需改动一下如下:
D:cd D:\mywork\test\proj.android-studio\app\jni_generate_mk.pycocos run -p android --android-studio --pt-23然后在编译器选项中添加cocos库头文件,写完代码后按下F1直接在手机中查看效果。这个方法比较无奈,借助NDK编译,不能调试,仅适用懒折腾的人。此方法在此备注,仅供参考。
- cocos2dx 开发环境配置
- Cocos2dx开发环境配置
- cocos2dx开发配置
- cocos2dx andriod 开发环境配置
- Cocos2dx学习笔记001:Windows配置Cocos2dx-cpp开发环境
- Win7上配置Cocos2dx开发环境
- cocos2dx配置VS13开发环境问题
- ubuntu下安装配置cocos2dx开发环境
- cocos2dx VS的开发环境配置
- cocos2dx+vs2012+lua开发环境配置+BabeLua
- cocos2dx windows eclipse 开发配置准备
- Cocos2dx-Lua开发环境配置步骤
- cocos2dx+vs2012+lua开发环境配置+BabeLua
- 在Mac上用cocos2dx开发环境配置
- Windows下cocos2DX安卓开发环境配置
- MAC下配置android开发环境以及运行cocos2dx项目
- mac下android-cocos2dx开发环境配置重点
- Cocos2dx、Eclipse、Android、Cygwin游戏开发环境配置
- Android Animation 动画(二)--Drawable动画
- 当公有云遇到cloudinit,将变的安全可信
- Java 调用系统命令 Runtime Process ProcessBuilder
- 一个多标签页、可输入网址可前进后退刷新的简易浏览器
- PCB导出BOM提示ActiveX失败
- cocos2dx开发配置
- jnjj
- 在Windows10上的虚拟机安装Mac OS X 10.11
- RPG开发日记
- QT系列:MinGW与MSVC编译的区别
- android画一个简单的界面
- EffectiveJava(23)为什么不能在新生代码中使用原生态类型
- 蓝桥杯 历届试题 小朋友排队 树状数组+逆序数
- 问答