前言:
上一篇博客 flappy bird游戏源代码揭秘和下载,源码是运行在window或者mac系统上的,现在我们需要把代码移植到android真机上,让小鸟在手机里飞起来!
ps: 注意以下事项:
1 cocos2d-x editor在接下来的版本会加入一键打包apk功能,同时直接用java编写游戏代码,抛开js,也是跨平台的,请持续关注。现在我们只能通过新建android工程把js打包成apk;
2 请更新上一篇博客的代码,改了Main.js代码适应真机;(很重要)
3 请更新cocos2d-x editor到cocos2d-x editor 1.0Beta版本:(很重要)
地址: http://blog.csdn.net/touchsnow/article/details/18451107
背景:
最近火爆全球的游戏flappy bird让笔者叹为观止,于是花了一天的时间山寨了一个一模一样的游戏,现在把游戏的思路和源码分享出来,代码是基于javascript语言,cocos2d-x游戏引擎,cocos2d-x editor手游开发工具完成的,请读者轻砸;
ps:运行demo需要配置好cocos2d-x editor,暂不支持其他工具。还有demo是跨平台的,可移植运行android,ios,html5网页等。
运行Android真机效果图:
Android Apk下载演示:
下载地址: http://share.weiyun.com/cac18d8c58d40bf2401b3fdeeb6bcb2f
Cocos2d-x JS源代码下载:(代码有更新,Main.js改了配置适应真机,请使用最新代码):
下载地址:http://share.weiyun.com/85a15e59e467c175a3968b8347367d40
Android移植代码下载:
下载地址:http://share.weiyun.com/679b61b4ddc03c98fbf05158784cc9b4
开发工具(2013-02-14 已更新到1.0Beta):
cocos2dx editor,它是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于cocos2d-x跨平台游戏引擎, 集合代码编辑,场景设计,动画制作,字体设计,还有粒子,物理系统,地图等等的,而且调试方便,和实时模拟;
cocos2dx editor 下载,介绍和教程:http://blog.csdn.net/touchsnow/article/details/19070665;
cocos2dx-editor官方博客:http://blog.makeapp.co/?cat=8;
移植代码结构分析:
使用cocos2d-x editor开发游戏,编写代码和设计场景都在Sources目录里,而编译产生的代码在Published目录,根据自己选择的操作系统产生不同的Published代码。
在移植android工程里,把Published里面的所有代码拷贝覆盖到asserts里面下,整个游戏是作为一个Cocos2dxGameActivity活动存在的,可以和android本身的代码交互。另外,cocos2d-x editor会自动在libs生成armeabi----libcocos2dx-game.so和cocos2dx-android.jar,这些是js和java代码交流需要的库。其他和一个android工程一样,所以你会发现android工程只是一个空架子,所有有效的代码都在asserts里面;你现在只需要按照一个正常的android项目运行程序就可以了;
项目结构分析如下:
移植方法步骤:
1 File-New Project新建一个cocos2dx-2.2-android项目如下图;
2 idea本来就是用开发android的,请确保idea开发android环境是正确的(jdk,sdk等),如果不会配置请百度一下,网上很多(关键词intellij idea android),可以尝试用idea运行一个android的hello world,确保环境正确;
3 把AndroidManifest修改如下,主要是更改package名称,游戏的图标和名字。如下面的代码,所有的游戏场景在android里面就是一个Cocos2dxGameActivity;
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.cocos2dx.lib" android:versionCode="1" android:versionName="1.0.16"> <uses-sdk android:minSdkVersion="8"/> <uses-feature android:glEsVersion="0x00020000"/> <application android:label="@string/app_name" android:icon="@drawable/icon"> <activity android:name="org.cocos2dx.lib.Cocos2dxGameActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.VIBRATE"/> <supports-screens android:largeScreens="true" android:smallScreens="true" android:anyDensity="true" android:normalScreens="true"/> </manifest>
4 把Published里面的代码拷贝覆盖到asserts目录下,最后点击绿三角运行,效果如文中的图片;
整个游戏代码的思路分析可以参考上一篇博客: flappy bird游戏源代码揭秘和下载
请持续关注,还有更多cocos2dx editor游戏源码放出;