本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 的游戏。

本文作者:HelloGitHub-秦人

HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来一款开源 Java 游戏框架项目—— FXGLGames

项目源码地址:https://github.com/AlmasB/FXGLGames

一、项目介绍

都说 Java 语言无处不能,可以做桌面程序,可以做后台开发,可以做手机应用,也可以做游戏开发。本篇我们就重点讲一下一款 Java 游戏框架 FXGL,它无需安装或设置,开箱即用,只需本地安装 jdk8+ 即可。游戏可轻松打包为可执行的 *.jar 文件,一行命令即可运行。

二、运行项目

2.1 前提

  • 安装 Jdk8 或者更高版本,全称 Java Development Kit,它是 Java 的库函数,是编译、运行 Java 程序的工具包。
  • 安装 Maven3 环境,进行项目构建和项目依赖包管理。
  • 安装开发工具,例如:Idea,Eclipse,Spring Tool Suite 等。
  • 安装 Git 工具,使用 GitBash 工具进行下载,提交代码等操作。

2.2 下载项目

执行如下代码,将项目下载到本地。

cd D:\devEnv
git clone https://github.com/AlmasB/FXGLGames.git

2.3 运行项目

2.3.1 运行可执行文件

项目 binaries 目录下是已经构建好的游戏。

本地执行下面命令,就可以运行项目了。

java -jar xxx.jar

2.3.2 源码构建项目

通过源码构建项目,这些项目都是 maven 项目,执行下面代码就可构建并运行项目。

cd project_name
mvn clean package -DskipTests
cd target
java -jar xxx.java

2.3.3 游戏运行效果展示

  1. GeometryWars

    这个游戏已有构建好的可执行文件,在 binaries 目录,运行效果如下图:

  2. Mario(马里奥)

    这个游戏需要源码打包,参考上面步骤即可。注:此项目需要将 jdk 版本升级到 11,才可以构建和运行项目。运行效果如下图:

  3. Pacman

    这个游戏已有构建好的可执行文件,在 binaries 目录,运行效果如下图:

  4. BattleTanks

    这个游戏需要源码打包,参考上面步骤即可。运行效果如下图:

  5. SpaceInvaders

    这个游戏已有构建好的可执行文件,在 binaries 目录,运行效果如下图:

三、项目入门

接下来通过构建一个简单的例子,我们来看看进行游戏开发需要怎么开始。

3.1 本地创建 maven 项目

pom.xml 文件添加依赖:

<dependency>
<groupId>com.github.almasb</groupId>
<artifactId>fxgl</artifactId>
<version>11.7</version>
</dependency>

3.2 添加入口类

创建 BasicGameApp.java,文件内容如下:

package demo;

import com.almasb.fxgl.app.GameApplication;
import com.almasb.fxgl.settings.GameSettings; public class BasicGameApp extends GameApplication { @Override
protected void initSettings(GameSettings settings) {
settings.setWidth(600);
settings.setHeight(400);
settings.setTitle("Hello World");
} public static void main(String[] args) {
launch(args);
}
}

3.3 运行效果

在开发工具直接右键 运行 入口类 BasicGameApp.java 即可,运行效果如下图:

四、最后

Java 无所不能是真的!本篇将的项目你 get 到了吗? Java 开发小游戏还是相当炫酷的!学习英语可以听英文歌曲、看英文视频等等方式。学习编程我想也可以通过开发一款游戏的方式来增加学习兴趣,感受编码的魅力。有了直观的视觉冲击可能更加能激发你的学习和动手能力! 通过我内容分享,能让更多的朋友们感受到开源项目的魅力,由而对编程产生兴趣,是我最大的乐趣!

教程至此,你应该也能快速运行游戏项目了。编程是不是也特别有意思呢?快邀请你的小伙伴一起加入到 Java 游戏开发乐趣中吧~

五、参考资料


关注公众号加入交流群

有了这个开源 Java 项目,开发出炫酷的小游戏好像不难?的更多相关文章

  1. 转:Java项目开发规范参考

    Java项目开发规范参考 - KevinLee的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/u011383131/article/details/51227860 ...

  2. 《Maven在Java项目开发中的应用》论文笔记(十七)

    标题:Maven在Java项目开发中的应用 一.基本信息 时间:2019 来源:山西农业大学 关键词:Maven:Java Web:仓库:开发人员:极限编程; 二.研究内容 1.Maven 基本原理概 ...

  3. IDEA 学习笔记之 Java项目开发深入学习(2)

    Java项目开发深入学习(2): 查找变量被用到的地方 编译当前文件 增加变量watch 注意:我使用了keymap (eclipse模板),所以很多快捷键和eclipse一样. F5单步调试进入函数 ...

  4. IDEA 学习笔记之 Java项目开发深入学习(1)

    Java项目开发深入学习(1): 定义编译输出路径: 继承以上工程配置 重新定义新的项目编译路径 添加source目录:点击添加,再点击移除: 编译项目: 常用快捷键总结: Ctrl+Space 代码 ...

  5. IDEA 学习笔记之 Java项目开发

    Java项目开发: 新建模块: 添加JDK: 导入本地Jars: 从远程Maven仓库下载: 创建package: 新建类/接口/枚举等: 字体太小,改字体: Duplicate Scheme 修改编 ...

  6. 收藏基本Java项目开发的书

    一.Java项目开发全程实录 第1章 进销存管理系统(Swing+SQL Server2000实现) 第2章企业内部通信系统(Swing+JavaDB实现) 第3章 企业人事管理系统( Swing+H ...

  7. Java项目开发中实现分页的三种方式一篇包会

    前言   Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用 ...

  8. VR外包AR外包公司(虚拟现实外包公司)承接虚拟现实项目开发(企业、教育、游戏)

    VR外包AR外包公司(虚拟现实外包公司)承接虚拟现实项目开发(企业.教育.游戏) 可公对公签正规合同,开发票. 我们是北京的公司.专业团队,成员为专业 VR/AR 产品公司一线开发人员,有大型产品开发 ...

  9. iOS动画开发之五——炫酷的粒子效果

    在上几篇博客中,我们对UIView层的动画以及iOS的核心动画做了介绍,基本已经可以满足iOS应用项目中所有的动画需求,如果你觉得那些都还不够炫酷,亦或是你灵光一现,想用UIKit框架写出一款炫酷的休 ...

随机推荐

  1. Java统计内存

    在目标代码前放置 Runtime r = Runtime.getRuntime(); r.gc(); long startMem = r.freeMemory(); // 开始时的剩余内存 目标代码执 ...

  2. tesseract系列(2) -- tesseract的使用

    上文说了怎么编译成库,这次说说怎么使用,先验证下编译出来的结果. 下图是debug生成的文件,里面有个tesseract的应用程序. cmd进入目录下,执行命令:tesseract eurotext. ...

  3. ClipboardMonitor的下载和使用

    本工具可以实时监视剪贴板的变化,可以用于32位和64位的Excel. 在任务窗格上面输入一个正则表达式,例如(\d+)\-(\d+),按下Enter确认. 然后在其他地方,例如浏览器页面或者记事本中复 ...

  4. The Five-Number Summary|Boxplots

    3.3 The Five-Number Summary; Boxplots the deciles divide a data set into tenths (10 equal parts), th ...

  5. 用Kinect为听障人士架一座沟通的桥梁

    编者按:这是微软亚洲研究院和中国科学院共同进行的一个合作项目,希望通过使用Kinect来帮助提升手语的识别率,从而为听力受损的残障人士(以下简称听障人士)架起一座与外界沟通的桥梁. 文章译自:Digi ...

  6. 如何查看Linux系统下程序运行时使用的库?

    Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...

  7. 《C Prime Plus》第十节笔记

    数组和指针 10.1 数组 10.1.1 初始化数组 标量变量:只储存单个值的变量 创建只读数组,应该用const声明和初始化数组 const int days[] = {1,2,3,5}; 省略方括 ...

  8. 吴裕雄--天生自然 HADOOP大数据分布式处理:使用XShell远程连接主机与服务器并配置它们之间SSH免密登录

  9. Contig|scaffold|N50|L50|NG50|贪心算法|de bruiji graph|

    生物信息学 Contig是reads拼成的连续的DNA片段,连续表达一个gene.通过双端测序的contig可确定contig之间的关系得到scaffold,Scaffold是reads拼成的有gap ...

  10. 路由配置(route IP

    转载于:http://blog.csdn.net/chenlycly/article/details/52141854 使用下面的 route 命令可以查看 Linux 内核路由表. # route ...