如何利用Bacon 2D来在Ubuntu平台上制作自己的游戏

原创 2015年09月07日 11:15:46

很多人曾经疯狂地玩过疯狂的小鸟.中国也曾出现过类似的游戏疯狂过一阵.这些游戏是基于一个叫做Box2D的游戏引擎.在今天的介绍中,我们来介绍如何在Ubuntu平台上开发自己的类似的游戏.不过这个引擎的名称称之为Bacon2D.利用这个引擎,我们可以开发出我们很多有趣的应用.


1)安装Bacon2D并为Desktop进行编译



首先,我们可以在地址Bacon2D下载我们的源码或在Bacon2D的官方地址下载:

$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




这样我们就可以安装我我们想要的Bacon2D的模块到armhf的chroot里去了.这样你的Kit就可以编译Bacon2D的游戏了.



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)

这是因为在15.04中,security的版本已经升级到1.3,所以,我们需要对我们的.apparmor文件进行一个小的修改:

bacon2dtest.apparmor


{
    "policy_groups": [
        "networking"
    ],
    "policy_version": 1.3
}

在手机上的运行情况为:





更多关于Bacon2D的例程可以在地址https://github.com/kenvandine/Bacon2D/tree/tutorial/examples找到.

版权声明:本文为博主原创文章,未经博主允许不得转载。

Unity3D游戏开发之使用Unity3D开发2D游戏 (一)

今天要和大家分享的是基于Unity3D开发2D游戏,博主一直钟爱于国产武侠RPG,这个我在开始写Unity3D游戏开发系列文章的时候就已经说过了,所以我们今天要做的就是利用Unity3D来实现在2D游...
  • qinyuanpei
  • qinyuanpei
  • 2014年03月17日 09:14
  • 15099

【Unity3D】学习笔记(第2记) 2D游戏开发基本技巧之背景制作

最近看了龚老师的讲座视频-Platform
  • chy_xfn
  • chy_xfn
  • 2014年10月13日 18:41
  • 1405

二进制转换与此平台上的长模式不兼容

在VMware Workstation上安装CentOS操作系统时,弹出窗口“二进制转换与此平台上的长模式不兼容”。...
  • u013806814
  • u013806814
  • 2015年09月07日 23:56
  • 12542

2D游戏地图编辑器的制作(一)

地图编辑器,顾名思义,就是用来编辑地图的工具,如果玩过《魔兽争霸》或是《帝国时代2》、《英雄无敌》的话,应该会知道这几款游戏都附有地图编辑工具,可提供玩家自行编辑地图关卡,地图编辑器就具有类似的功能。...
  • asb2010
  • asb2010
  • 2015年01月23日 14:13
  • 1610

Unity3D 创建一个简单的2D游戏

http://www.cnblogs.com/sunxun/p/4889462.html 开始研究Unity3d 中的2D游戏。 首先创建出一个项目: 然后创建出一个场景...
  • y13156556538
  • y13156556538
  • 2016年10月02日 12:36
  • 3863

VM安装ubuntu出错二进制与此平台上的长模式不兼容

设置电脑支持CPU虚拟化,亲测有效http://jingyan.baidu.com/article/636f38bb4f40f9d6b84610f7.html...
  • baidu_15113429
  • baidu_15113429
  • 2017年10月09日 11:32
  • 289

Unity + NGUI开发2D游戏的笔记。

1、没法加Anchor 使用复制吧 2、多分辨率如何弄。(尤其差很远的情况下) 控制UIRoot的高,可以设置缩放 3、如何使得一个面板及其子都不可以有事件。 NGUIToo...
  • love_hot_girl
  • love_hot_girl
  • 2012年12月17日 07:55
  • 1886

[转]2d游戏开发:游戏地图编辑器

2d游戏开发:游戏地图编辑器 akinggw 金桥信息 2006-06-15游戏地图编辑器 作者:akinggw 朋友们,大家好!今天,我们将讲解游戏开发中一个重要的工具DD“游戏地图编辑器”。几乎任...
  • nefeithu123
  • nefeithu123
  • 2010年01月10日 19:33
  • 6687

JAVA的垃圾回收与.net中的GC,C++析构函数之间的异同点?

垃圾回收的缩写就是GC。无论java还是C#的GC都是相应的虚拟机用来释放无用内存的机制,不同之处在于他们用的虚拟机不同。C++的析构函数是程序员手动写的回收内存和善后处理的函数。其功能相当与java...
  • chengmeng_123
  • chengmeng_123
  • 2017年11月27日 09:51
  • 41

Unity学习笔记1 简易2D横版RPG游戏制作(一)

前言……     虽然整理这些东西很浪费时间,但是因为我平时研究和学习的东西实在是太多了,不经常整理的话很容易乱。而且自从上次电脑损坏之后,我一直都对数据备份这件事非常在意。稍微整理一些东西之后就会...
  • sinolzeng
  • sinolzeng
  • 2014年04月27日 23:44
  • 16456
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何利用Bacon 2D来在Ubuntu平台上制作自己的游戏
举报原因:
原因补充:

(最多只允许输入30个字)