Cocos code ide 1.0.0 RC0 使用教程

前两天cocos2d-x发布了cocos code ide 1.0.0 rc0,这个是目前(2014.7.20)为止最新的ide,之前发布的1.0.1 beta,1.0.2beta都是测试版,首先你可以看下http://www.cocos2d-x.org/wiki/Cocos_Code_IDE官网它的环境要求,我这边大概说下几个重点:

http://www.cocoachina.com/bbs/read.php?tid=216602IDE常见问题连接地址

本人机子是windows64位
第一篇、环境
1.需要安装jdk,如果你安装的jdk是32位,那你就下载32位的IDE,如果是64位就下载64位的IDE
2.安装Python,最好是2.7.5(32位还是64位根据你系统选择)
3.安装vs2012版本及以上(如果是mac系统安装xcode5.1以上)
4.下载android SDK(并下载android-10以上)
5.下载引擎cocos2d-x3.2 http://cocostudio.download.appget.cn/Cocos2D-X/cocos2d-x-3.2.zip
6.下载Cocos Code Ide 1.0.0 rc0 http://www.cocos2d-x.org/download
7.下载NDK cocos2d-x3.2(用r9d) cocos2d-js rc1(用r9b)
这边特别说明下因为这个IDE版本是和cocos2d-x3.2 、cocos2d-js rc1一起发布的,对IDE支持目前最好的版本。
将使用cocos2d-x3.2来做教程,cocos2d-x3.2的NDK要求是必须r9d,所以请下载安装r9d吧。
8.下载Ant http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.4-bin.zip
Ok到目前为止,环境已经好了,我这边以64位版本作为演示

第二篇、新建工程
1.下载ide之后解压,双击里面的exe运行,发现首页有lua和js选择,我们这边选择lua

2.右键左边的explorer新建工程,首次进入会出现这个页面,叫你配置引擎的目录,点击选择刚才下载解压的引擎根目录.
也可以通过菜单Window–>Preferences–>cocos–>lua

3.开始右键新建工程,

这边有3个点可能需要注意下:
(1).就是那个size是新建桌面平台的模拟器大小,对于非桌面平台是无效的,决对不是设计分辨率,设计分辨率的设置时自己在lua代码中设置的。
(2). 是否添加源码.为什么要分是否添加源码呢。
如果你不添加源码,可以使用它内置的PrebuiltRuntime(已经编译好来运行脚本的二进制)来开始编写lua脚本了。
那如果添加源码呢,添加了源码如果你对它内置的PrebuiltRuntime不满意或者功能不够(比如要自己导出接口),你可以自定义修改c++代码然后生成自定义runtime来使用。
注:对于只想体验下IDE的人,可以不选择源码,这样新建工程的速度比较快,当然对于长期使用IDE的人也可以开始不选择添加源码,然后发现功能不够用了再进行追加源码(右键工程–>Cocos Tools–>Add Native Codes Support)
(3).上面的新建过程的配置会写到新建的工程根目录下的config.json中
“init_cfg”:{
“isLandscape”: true, //横竖屏配置
“name”: “HelloLua”, //窗口标题的名字,只对桌面平台有效
“width”: 960, //模拟器窗口的宽,只对桌面平台有效
“height”: 640, //模拟器窗口的高,只对桌面平台有效
“entry”: “src/main.lua”, //入口文件
“consolePort”: 6010 //这个是IDE与runtime间传输命令的端口
},
“simulator_screen_size”: //模拟器上菜单的多个分辨率
{
“title”: “iPhone 3Gs (480x320)”,
“width”: 480,
“height”: 320
}]

第三篇、调试
IDE是可以进行桌面平台的调试,也可以进行真机调试,包括android真机和IOS真机

1.点击菜单栏的调试按钮,直接默认调试的是桌面平台

运行起来的测试例子是这样的window下有个比较隐藏的功能,就是右键程序的标题栏有一些功能。

双击lua文件的左边栏就可以下断点了,鼠标移上去就可以查看变量值了,这些就不详细说明了。

2.如何android真机调试

点击菜单的设置调试配置按钮(也可以右键工程debug–>debugconfig),弹出配置框选择android模式,它会弹出让你设置NDK,SDK,ANT根目录,把之前下载好的设置进去。

接下去连接手机,点击debug开始进行真机调试。

这边有几点要注意的:
第一、不管是你是否选择adb模式都必须手机开启wifi模式,并且保证电脑和手机同一个局域网,互相ping通,因为它使用的是远程调试。
第二、那使用adb模式和非adb模式有什么区别呢,使用adb模式将手机通过USB插入电脑,它会自动帮你安装apk到手机,并且帮你启动apk,然后上传文件。
第三、假设你已经安装apk到手机了,你可以不使用usb连接电脑,在手机上手动点击启动apk,然后把IP填写到IDE调试android配置的IP地址栏中,然后点击调试。
第四、不用wifi的模式,直接使用usb调试什么时候可以做到,感觉短时间做不到。

不管是android的runtime还是ios的runtime包里面都是不带资源(src和res目录)的,所以直接点击Play是无法直接进入的 ,runtime需要配合IDE进行资源上传才能工作,IDE修改代码保存将立即上传到手机端。
那如果要打包带资源的怎么办?
请看下面的第五篇生成发布包(发布包是不带runtime的功能的,也就是说没法调试,上传资源等)
第四篇、自定义runtime
什么叫runtime?
runtime 是已经编译好来运行脚本的二进制文件。
在IDE新建出来的工程目录下有个runtime目录,里面有内置了预编译好的PrebuiltRuntime,用这些PrebuiltRuntime,就可以上面的各种操作了。
为什么要自定义runtime呢?
可能预编译好的runtime不能满足你的需求,比如你要增加导出接口,你要修改xxx …等等. 那这时候你就需要添加源码来自己定义。然后重新编译,必须选择你自己的生成的runtime,才有新加的功能。

下面就看如何添加一个自定义的导出接口。

1.基于第二篇新建工程,如果你新建的时候添加了源码,那就不需要重新添加源码了,如果你还没有添加源码那就添加源码,右键工程–>CocosTools–>Add Native codes Supports…


2.假设我们要自定义一个接口,添加Lua导出
对于lua绑定导出的方式教程,请看这个文章https://github.com/chukong/cocos-docs/blob/master/manual/code-ide/binding-custom-class-to-lua/en.md
将生成的2个文件lua_cocos2dx_custom_auto.cpp及lua_cocos2dx_custom_auto.h和自定义的CustomClass类的两个文件CustomClass.h及CustomClass.cpp添加到自己的工程中,
如果是win就使用vs打开工程,给他添加到工程中
如果是android那就添加到CocosLuaGame\frameworks\runtime-src\proj.android\jni\android.mk
如果是mac.ios那就使用xocde打开工程把自己新添加的4个文件添加进去

3.接下去就是重新编译runtime,然后调试的时候选择我们自己修改定义的runtime进行调试了
重新编译: 右键工程–>CocosTools–>Build Custom Runtimes…


选择自定义的runtime: 右键工程–>debug–>debugconfigure,选择win32点击runtime path选择自己生成的runtime

第五篇、直接发布产品
ide有个功能是直接生成可发布的apk及ipa,其中包括签名
右键工程–>CocosTools–>Package Apk for Android…
我这边是window所以只能生成apk,如果是mac就可以生成ipa了,但是生成ipa之前要先安装好证书

如果对于什么是keystore不懂的,请网上查找下

好东西啊,支持!

GL 下行的三个0表示什么意思,不应该是DrawCall吗?
怎么会是3个0

好东西 必须支持一下

支持一下 :2:

iOS真机怎么调试呀,试了下不好用呀,Android就好用
安装PrebuiltRuntimeLua的时候说No code signature found.如果直接把app全部打到真机里,联网调试的时候就会报错,debugger不存在:6:

求助啊,ide报错

eclipse.buildId=V1.0.0.RC0
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Command-line arguments: -os win32 -ws win32 -arch x86_64

Error
Tue Jul 22 21:25:19 CST 2014
Internal error logged from DLTKDebugPlugin: Address already in use: JVM_Bind

java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.(Unknown Source)
at java.net.ServerSocket.(Unknown Source)
at org.eclipse.dltk.dbgp.DbgpServer.workingCycle(DbgpServer.java:84)
at org.eclipse.dltk.dbgp.internal.DbgpWorkingThread$1.run(DbgpWorkingThread.java:29)
at java.lang.Thread.run(Unknown Source)

ios 真机调试必须使用xcode先安装到真机,开启wifi,然后手动点击启动,把ip填到IDE的debugConfig ios的选项,就可以调试了

安装PrebuiltRuntimeLua的时候说No code signature found.

你是否jdk路径包含空格,我的电脑也是,但是其他人说他的包含空格也没事,你试下
如果还是不行,那你不修改c++代码,自己编译下runtime,使用自己编译的runtime,也是一样的

我按你说的试,在模拟器上可以跑起来,在iPhone上不行,连接调试器失败

我是新建的工程,用Xcode打开frameworks/runtime-src/proj.ios_mac/test.xcodeproj, 改签名和Bundle Identifier,编译运行,此时在手机上可以看到跑起来
再在Cocos Code IDE上运行,把IP填到Debug Configuration里,点Debug,就出现下图

是否在同一网段呢,真机和IDE

这个会不会影响使用

— Begin quote from ____

引用第7楼chuanwei.zhang于2014-07-23 07:58发表的 回 5楼(getovermvp) 的帖子 :
ios 真机调试必须使用xcode先安装到真机,开启wifi,然后手动点击启动,把ip填到IDE的debugConfig ios的选项,就可以调试了

安装PrebuiltRuntimeLua的时候说No code signature found.

http://www.cocoachina.com/bbs/job.php?action=topost&tid=215502&pid=1010512

— End quote

虽然能真机调试,热更新也好用,但是会报错
:1: module ‘debugger’ not found:debugger: bad header in precompiled chunk
no file ‘./debugger.lua’
no file ‘/usr/local/share/lua/5.1/debugger.lua’
no file ‘/usr/local/share/lua/5.1/debugger/init.lua’
no file ‘/usr/local/lib/lua/5.1/debugger.lua’
no file ‘/usr/local/lib/lua/5.1/debugger/init.lua’
no file ‘./debugger.so’
no file ‘/usr/local/lib/lua/5.1/debugger.so’
no file ‘/usr/local/lib/lua/5.1/loadall.so’
debug args = require(‘debugger’)(‘192.168.2.1’,‘10000’,‘luaidekey’,nil,‘ios’,’/Users/xiangmu-01/Documents/cocos/Kingdoms/’,’/var/mobile/Applications/7ADCD5BE-BC4E-4706-9902-42FB3479954E/Documents/debugruntime/’)
除了这个错误IDE还会提示连接超时

谢谢楼主分享. 学到了debug的相关知识

我用小米调试, 各种崩溃, 别的手机就没问题. 真是奇了怪了.

我用的是cocos2d-js-v3.0-rc1, 这个版本, 在里面找到了samples, 里面有2个项目, 直接导入cocos ide是导不进去的, 我新建立了项目, 然后复制进去, 但是却无法运行, 希望楼主帮忙看看这是什么问题

是在同一网段
用beta版的Cocos Code IDE的话,点Run可以在真机跑起来,但Debug还是不行,不过报的错误不一样,它可以找到remote debugger, upload resource也没出错,最后的launch失败了 ,显示connection refused
用rc0版反而Run和Debug都不行了

我估计是我的配置有问题,我晚上把截图和log都发上来,您再帮我分析分析吧谢谢

这个sample的我也没整理还不清楚,过段时候官方应该会整理

请问一下,如果我android要接入第三方sdk,如果操作?如何导出eclipse工程?

必须得是3.2版本么?我cocos2d x 2.2.5创建不了项目,提示找不到cocos.py

好东西,已经测试通过。

对于cocos 2.x版本可以使用不?

为什么我每次runtime builder来生成apk的时候会提示失败,ndk我用的9d啊