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

2023-11-21 16:41

本文主要是介绍如何利用Bacon 2D来在Ubuntu平台上制作自己的游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很多人曾经疯狂地玩过疯狂的小鸟.中国也曾出现过类似的游戏疯狂过一阵.这些游戏是基于一个叫做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
}

在手机上的运行情况为:




整个项目的源码在: https://github.com/liu-xiao-guo/bacon2dtest

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

这篇关于如何利用Bacon 2D来在Ubuntu平台上制作自己的游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403647

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程

《双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程》:本文主要介绍如何在Windows11系统中使用VMware17创建虚拟机,并在虚拟机中安装Ubuntu22.04桌面版或Ubunt... 目录一、首先win11中安装vmware17二、磁盘分区三、保存四、使用虚拟机进行系统安装五、遇见的错误和解决

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设