有了这个开源 Java 项目,开发出炫酷的小游戏好像不难?
本文适合有 Java 基础知识的人群,跟着本文可学习和运行
Java
的游戏。
本文作者:HelloGitHub-秦人
HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来一款开源 Java 游戏框架项目—— 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 游戏运行效果展示
GeometryWars
这个游戏已有构建好的可执行文件,在binaries
目录,运行效果如下图:
Mario(马里奥)
这个游戏需要源码打包,参考上面步骤即可。注:此项目需要将jdk
版本升级到11
,才可以构建和运行项目。运行效果如下图:
Pacman
这个游戏已有构建好的可执行文件,在binaries
目录,运行效果如下图:
BattleTanks
这个游戏需要源码打包,参考上面步骤即可。运行效果如下图:
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 项目,开发出炫酷的小游戏好像不难?的更多相关文章
- 转:Java项目开发规范参考
Java项目开发规范参考 - KevinLee的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/u011383131/article/details/51227860 ...
- 《Maven在Java项目开发中的应用》论文笔记(十七)
标题:Maven在Java项目开发中的应用 一.基本信息 时间:2019 来源:山西农业大学 关键词:Maven:Java Web:仓库:开发人员:极限编程; 二.研究内容 1.Maven 基本原理概 ...
- IDEA 学习笔记之 Java项目开发深入学习(2)
Java项目开发深入学习(2): 查找变量被用到的地方 编译当前文件 增加变量watch 注意:我使用了keymap (eclipse模板),所以很多快捷键和eclipse一样. F5单步调试进入函数 ...
- IDEA 学习笔记之 Java项目开发深入学习(1)
Java项目开发深入学习(1): 定义编译输出路径: 继承以上工程配置 重新定义新的项目编译路径 添加source目录:点击添加,再点击移除: 编译项目: 常用快捷键总结: Ctrl+Space 代码 ...
- IDEA 学习笔记之 Java项目开发
Java项目开发: 新建模块: 添加JDK: 导入本地Jars: 从远程Maven仓库下载: 创建package: 新建类/接口/枚举等: 字体太小,改字体: Duplicate Scheme 修改编 ...
- 收藏基本Java项目开发的书
一.Java项目开发全程实录 第1章 进销存管理系统(Swing+SQL Server2000实现) 第2章企业内部通信系统(Swing+JavaDB实现) 第3章 企业人事管理系统( Swing+H ...
- Java项目开发中实现分页的三种方式一篇包会
前言 Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用 ...
- VR外包AR外包公司(虚拟现实外包公司)承接虚拟现实项目开发(企业、教育、游戏)
VR外包AR外包公司(虚拟现实外包公司)承接虚拟现实项目开发(企业.教育.游戏) 可公对公签正规合同,开发票. 我们是北京的公司.专业团队,成员为专业 VR/AR 产品公司一线开发人员,有大型产品开发 ...
- iOS动画开发之五——炫酷的粒子效果
在上几篇博客中,我们对UIView层的动画以及iOS的核心动画做了介绍,基本已经可以满足iOS应用项目中所有的动画需求,如果你觉得那些都还不够炫酷,亦或是你灵光一现,想用UIKit框架写出一款炫酷的休 ...
随机推荐
- DFS---迷宫问题
#include<iostream> #include<string> #include<cstring> using namespace std;//dfs in ...
- 通过特殊处理 Resize 事件解决 WinForm 加载时闪烁问题的一个方法
WinForm 上放置的控件多了或者有大背景图,窗体加载时就会闪烁,对于一般的闪烁,设置 DoubleBuffer=True或许有一点改善,要立竿见影的解决可以重载 CreateParams 使用 W ...
- ubuntu或者raspbian清理软件使用痕迹
拿最常用的nginx举例 删除nginx–purge包括配置文件 sudo apt-get --purge remove nginx 开始使用上面这条,后来发现还是有很多相关联没有删除 首先需要停止n ...
- iOS 自定义UITabBar
推荐一篇非常好的集成各种UITabBar的三方库 <点击这里直取demo> 另外一篇根据runtime定制了一款可以出轨的UITarBar <Runtime实战之定制TabBarIt ...
- Base64转PDF、PDF转IMG(使用pdfbox插件)
--添加依赖 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --><dependency> ...
- 隐马尔可夫随机场HMM
概率知识点: 0=<P(A)<=1 P(True)=1;P(False)=0 P(A)+P(B)-P(A and B) = P(A or B) P(A|B)=P(A,B)/P(B) =&g ...
- python后端向前台返回字节流文件
python后端向前台返回字节流文件,浏览器访问地址自动下载文件: from django.http.response import StreamingHttpResponse # 要下载的文件路径 ...
- Ubuntu16.04编译libjpeg-turbo库
一.环境依赖 CMake v2.8.12或以后 NASM or YASM (if building x86 or x86-64 SIMD extensions),如果使用NASM, 依赖2.10之后版 ...
- MyBatis注解及动态Sql
一.注解实现MyBatis配置 java注解是在jdk1.5版本之后开始加入的,不得不说注解对于我们开发人员来说是个很方便的东西,实现起来也非常的简单,下边我们说一下在MyBatis中使用注解来替换M ...
- webpack中使用ECharts
npm安装ECharts 引入ECharts 通过 npm 上安装的 ECharts 和 zrender 会放在node_modules目录下.可以直接在项目代码中 require('echarts' ...