前言:
上一篇博客 flappy bird游戏源代码揭秘和下载,源码是运行在window或者mac系统上的,现在我们需要把代码移植到android真机上,让小鸟在手机里飞起来!
ps: 注意以下事项:
1 cocos2d-x editor在接下来的版本会加入一键打包apk功能,不仅支持JS,也支持直接用java编写游戏代码,可跨平台的,请持续关注。现在我们只能通过新建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
代码如何移植到各平台:
Android:http://blog.csdn.net/touchsnow/article/details/19176091
html5: http://blog.makeapp.co/?p=245
开发工具(2013-02-14 已更新到1.0Beta):
cocos2dx editor,它是开发跨平台的手机游戏工具,运行window/mac系统上,javascript脚本语言,基于cocos2d-x跨平台游戏引擎, 集合代码编辑,场景设计,动画制作,字体设计,还有粒子,物理系统,地图等等的,而且调试方便,和实时模拟;
cocos2dx editor 下载,介绍和教程:http://blog.csdn.net/touchsnow/article/details/19070665;
cocos2dx-editor官方博客:http://blog.makeapp.co/;(请持续关注版本更新)
移植代码结构分析:
使用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博文系列:
flappy bird游戏源代码揭秘和下载后续---移植到android真机上
flappy bird游戏源代码揭秘和下载后续---移植到html5网页浏览器
flappy bird游戏源代码揭秘和下载后续---日进5万美元的秘诀AdMob广告 (将写)
flappy bird游戏源代码揭秘和下载后续---移植到苹果ios上 (未写)
笔者语:
想了解更多请进入官方博客,最新博客和代码在官方博客首发;请持续关注,还有更多cocos2dx editor游戏源码即将放出;
联系笔者:[email protected](邮箱)
后言:
为了鼓励更多手游爱好者加入cocos2d-x editor阵营,也为了读者坚定对该工具的信心,笔者基于以上的flappy bird代码和新的图片资源,往google play和中国应用市场发布了一个相似的游戏----腾飞的小鸟(fly bird)。该游戏还加入了广告模块,可以获得些许的广告费。也希望读者通过cocos2d-x editor可以在市场上发布更多的好游戏;
google play地址:https://play.google.com/store/apps/details?id=com.makeapp.game.flybird (小秘密:如果应用.apk后缀改为.rar,你会获得意想不到的东西)
机锋市场地址: http://apk.gfan.com/Product/App741996.html
html5在线演示:http://www.makeapp.co/flybird/ (微软ie浏览器存在兼容性问题,请选择其他浏览器;公司内网,小卡,见谅)