如何利用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

相关文章

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20