很多人曾经疯狂地玩过疯狂的小鸟.中国也曾出现过类似的游戏疯狂过一阵.这些游戏是基于一个叫做Box2D的游戏引擎.在今天的介绍中,我们来介绍如何在Ubuntu平台上开发自己的类似的游戏.不过这个引擎的名称称之为Bacon2D.利用这个引擎,我们可以开发出我们很多有趣的应用.
1)安装Bacon2D并为Desktop进行编译
$git clone https://github.com/kenvandine/Bacon2D.git
这样我们把我们的源码下载到我们的电脑中,并存于一个目录里.
接下来,我们为Desktop进行编译.因为我们是从一个git checkout中的目录中进行编译的,所以我们必须通过如下的命令来更新一些模块:
$ git submodule update --init
在接下来,我们进入到Bacon2D的源代码" src"目录,并键入如下的命令:
$ mkdir build && cd build $ qmake .. $ make $ sudo make install
通过这样的方法,我们可以把我们的Bacon2D的模块安装到我们的系统的如下的目录中:
install -m 755 -p "imports/Bacon2D/libbacon2dplugin.so" "/usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/libbacon2dplugin.so" strip --strip-unneeded "/usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/libbacon2dplugin.so" install -m 644 -p /home/liuxg/release/Bacon2D/src/PhysicsEntity.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/BoxBody.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/ChainBody.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/CircleBody.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/EdgeBody.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/ImageBoxBody.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/PolygonBody.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/Boundaries.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/RectangleBoxBody.qml /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/ install -m 644 -p /home/liuxg/release/Bacon2D/src/qmldir /usr/lib/x86_64-linux-gnu/qt5/qml/Bacon2D.1.0/
通过以上的方法,我们就完成了游戏引擎在Desktop上的部署.
2)部署游戏Bacon2D引擎到armhf chroot
为了我们的引擎能够在我们的手机上运行,我们必须也安装相应的库到我们的Ubuntu SDK里的armhf chroot中去.在这里,我们假设大家已经把Ubuntu SDK已经安装好了,并能正常地开发我们的Ubuntu应用.如果大家还没有安装好自己的Ubuntu SDK的话,请参阅我的另外一篇文章"
Ubuntu SDK 安装"来安装好自己的SDK.
接下来,我们在我们的Terminal中打入如下的命令:
$sudo add-apt-repository ppa:bacon2d-team/ppa $sudo apt-get update && sudo apt-get install qtcreator-template-bacon2d
通过这样的方法,我们可以把"Bacon2D Game (QMake)"模版加入到我们的Qt Creator的模版中.这样我们可以更容易地开发我们的Bacon2D Game应用了.
再接下来,我们打开我们的Ubuntu SDK.选择"
Tools/
Options"菜单:
我们选择"Maintain",并在Terminal中打入如下的命令:
$ apt-get install qtdeclarative5-bacon2d1.0:armhf && exit
3)创建一个属于我们自己的Bacon2D的游戏
一旦我们已经安装好我们的Bacon2D模块,我们就可以创建我们自己的游戏了.打开我们的Ubuntu SDK,并选择"
File/
New File or Project..."菜单
我们选择"Bacon2D Game (QMake)"模版,创建一个叫做"bacon2dtest"的应用:
这样我们就创建了一个最基本的Bacon2D应用.下图是在Desktop上运行的情况:
当我们选择手机armhf Kit进行编译时,我们会发现如下的错误:
:-1: error: security_policy_version_matches_framework (bacon2dtest/bacon2dtest.apparmor): 1.2 != 1.3 (ubuntu-sdk-15.04)
bacon2dtest.apparmor
{ "policy_groups": [ "networking" ], "policy_version": 1.3 }
在手机上的运行情况为:
更多关于Bacon2D的例程可以在地址
https://github.com/kenvandine/Bacon2D/tree/tutorial/examples找到.