近日cocos2d家族开始了版本的联合发布,也就是说从cocos2d-x2.1版本开始,终于可以实现广大开发者期盼已久的一套代码横跨iosandroidhtml5的梦想了,这次联合发布的包括cocosBuildercocos2d-iphonecocos2d-xcocos2d-html5版本,这篇文章就是笔者对这套开发工具的初体验经验总结。使用的是第二次联合发布的cocos2d-x2.1.1版本。

首先是从cocosbuilder中创建项目工程,然后导出的过程,首先创建工程,如图所示:


这个模板工程是这样一个界面,带有写好的js逻辑,点击按钮标题会旋转,然后在菜单中选择导出设置,设置导出的类型和支持的分辨率。


可以选择的包括androidioshtml5,然后在菜单中选择“Publish”就可以分别导出这三种平台需要的资源目录了,如图


然后就是把这三个文件夹中的资源文件分别在三个平台上运行,首先是ios平台,直接使用cocos2d-x就可以,首先创建cocos2d-xjs项目

然后就是把xcodecocos2dx-js模板项目中的js文件和ccb文件替成新的就可以了,这里有几个地方是需要注意的。

1)这个项目里只有一个启动类AppDelegate,但是替换jsAppDelegate的入口js文件需要修改的,位置很容易找到。

2) 在项目里引入js文件时,xcode不会自动把js文件打入到包里,这样就会出现找不到js文件的情况,我们需要做的就是手动的修改一下,在项目的BuildPhase设置里面,有个copyBundleResources项目,手动把js文件添加进去。

编译运行,效果如图所示


接下来是android平台上的运行,关于android平台开发环境的搭建,请参考cocos2d-x的官方文档

http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Setting_up_Android_Development_Environment_on_Mac_OSX#Setup-Eclipse-in-MBP-Retina

值得一提的是,googleeclipse的基础上为android创建了一个集成的开发环境AndroidDeveloperTools,虽然就是以前的eclipse+adt插件+sdk的集合,但是这样的集合也省去了我们配置的时间,另外需要说明的是文档中提到的定义环境变量的问题,需要首先运行pico.bash_profile命令,另外第一行的环境变量名称应该是ANDROID_SDK_ROOT。配置好了环境以后我们就可以运行build_native来编译,需要注意的就是

1)编译的Android.mk文件和Application.mk都需要修改,可以参考Sample下的javascript项目,需要增加一些内容。

2)assert文件夹虽然是自动生成的,但是需要做一项额外的工作,就是把引擎目录或者是lib目录下,“scripting\javascript\bindings\js”目录下的js文件拷入到你的assert目录下,如果你觉得这样麻烦,也可以修改build_native,可以参考Sample下的javascript项目的build_native写法自动把这些文件拷近来,总之这一步是必须的。

3)最后便可以像文档中所说的,在elipse做最后的联机调试,需要说明的是,我在模拟器上运行是报错的,需要用真机调试,我使用的是HTC-G7调试,这个页面的帧率在58左右,跑cocos2dxjs自带的模板时,有很多西瓜的那个页面帧率基本是30-40,可以看出jsandroid上的效率还是不错的。


最后是html5版本,关于cocos2D-html5的环境搭建,请参照我之前的文章:

http://www.jb51.cc/article/p-tkokvbfr-qk.html

mac上的搭建也是大同小异,下载最新的cocos2D-html5版本然后解压,将目录下的全部文件拷贝到xampp的目录htdocs然后在CocosDragonjs同级的目录下创建一个GameClientJS目录,并把Published-html5文件夹拷入,然后启动xampp输入地址运行cocos2d-html5目录下的index.html页面:


我加了一个GameClientJS的链接,点击这个链接运行ameClientJS\Published-html5目录下的index.html页面。 如有错误之处,欢迎指正。

cocos2D-x初探学习笔记32-cocos2d-x & javascript跨平台初体验的更多相关文章

  1. html5 拖拽及用 js 实现拖拽功能的示例代码

    这篇文章主要介绍了html5 拖拽及用 js 实现拖拽,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  3. HTML5数字输入仅接受整数的实现代码

    这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. amaze ui 的使用详细教程

    这篇文章主要介绍了amaze ui 的使用详细教程,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. HTML5适合的情人节礼物有纪念日期功能

    这篇文章主要介绍了HTML5适合的情人节礼物有纪念日期功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. html5简介_动力节点Java学院整理

    这篇文章主要介绍了html5简介,用于指定构建网页的元素,这些元素中的大多数都用于描述网页内容,有兴趣的可以了解一下

  7. ios – Xcode警告:“没有处理文件的规则”和“找不到目录”

    重命名我的项目文件夹后,我收到以下错误消息:什么可能出错?解决方法关于第一个警告,您可以在项目设置中的“构建阶段”中检查XCode,即头文件不会出现在“编译源”列表中.

  8. 你如何将xcode项目转换为cocoapod?

    我有一段代码,我发现我在多个不同的项目中重复使用,所以我想把它变成一个cocoapod并使用私人cocoapod仓库.我的问题是如何将xcode项目设置为cocoapod?它应该是一个静态库还是一个带有appdelegate的空“项目”?

  9. ios – 如何将文件添加到主包的/ Library / Sounds目录中?

    根据Apple’sdocumentation,/Library/Sounds中的声音文件将在尝试播放声音时由系统搜索.如何将声音文件添加到此文件夹?适用于iOS的正确文档应为here总之,您只需将声音文件作为应用程序包的非本地化资源添加到项目中.

  10. ios – 资产目录与文件夹参考:何时使用其中一个?

    我可以将文件放入Assets.xcassets,或者我可以将文件放入文件夹引用.我何时会选择一个而不是另一个?

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部