有了這個(gè)開(kāi)源 Java 項(xiàng)目,開(kāi)發(fā)出炫酷的小游戲好像不難?(java實(shí)戰(zhàn)之開(kāi)發(fā)小游戲)
本文適合有 Java 基礎(chǔ)知識(shí)的人群,跟著本文可學(xué)習(xí)和運(yùn)行 Java 的游戲。
本文作者:HelloGitHub-秦人
HelloGitHub 推出的《講解開(kāi)源項(xiàng)目》系列,今天給大家?guī)?lái)一款開(kāi)源 java 游戲框架項(xiàng)目—— FXGLGames
項(xiàng)目源碼地址:https://Github.com/AlmasB/FXGLGames
一、項(xiàng)目介紹
都說(shuō) Java 語(yǔ)言無(wú)處不能,可以做桌面程序,可以做后臺(tái)開(kāi)發(fā),可以做手機(jī)應(yīng)用,也可以做游戲開(kāi)發(fā)。本篇我們就重點(diǎn)講一下一款 Java 游戲框架 FXGL,它無(wú)需安裝或設(shè)置,開(kāi)箱即用,只需本地安裝 jdk8 即可。游戲可輕松打包為可執(zhí)行的 *.jar 文件,一行命令即可運(yùn)行。
二、運(yùn)行項(xiàng)目
2.1 前提
- 安裝 jdk8 或者更高版本,全稱 Java Development Kit,它是 Java 的庫(kù)函數(shù),是編譯、運(yùn)行 Java 程序的工具包。
- 安裝 maven3 環(huán)境,進(jìn)行項(xiàng)目構(gòu)建和項(xiàng)目依賴包管理。
- 安裝開(kāi)發(fā)工具,例如:Idea,Eclipse,Spring Tool Suite 等。
- 安裝 Git 工具,使用 GitBash 工具進(jìn)行下載,提交代碼等操作。
2.2 下載項(xiàng)目
執(zhí)行如下代碼,將項(xiàng)目下載到本地。
cd D:devEnvgit clone https://github.com/AlmasB/FXGLGames.git
2.3 運(yùn)行項(xiàng)目
2.3.1 運(yùn)行可執(zhí)行文件
項(xiàng)目 binaries 目錄下是已經(jīng)構(gòu)建好的游戲。
本地執(zhí)行下面命令,就可以運(yùn)行項(xiàng)目了。
java -jar xxx.jar
2.3.2 源碼構(gòu)建項(xiàng)目
通過(guò)源碼構(gòu)建項(xiàng)目,這些項(xiàng)目都是 maven 項(xiàng)目,執(zhí)行下面代碼就可構(gòu)建并運(yùn)行項(xiàng)目。
cd project_namemvn clean package -DskipTestscd targetjava -jar xxx.java
2.3.3 游戲運(yùn)行效果展示
1. GeometryWars 這個(gè)游戲已有構(gòu)建好的可執(zhí)行文件,在 binaries 目錄,運(yùn) 行效果如下圖:
2. Mario(馬里奧) 這個(gè)游戲需要源碼打包,參考上面步驟即可。注:此項(xiàng)目需要將 jdk 版本升級(jí)到 11,才可以構(gòu)建和運(yùn)行項(xiàng)目。運(yùn)行效果如下圖:
3. Pacman 這個(gè)游戲已有構(gòu)建好的可執(zhí)行文件,在 binaries 目錄,運(yùn)行效果如下圖:
5. BattleTanks 這個(gè)游戲需要源碼打包,參考上面步驟即可。運(yùn)行效果如下圖:
6. SpaceInvaders 這個(gè)游戲已有構(gòu)建好的可執(zhí)行文件,在 binaries 目錄,運(yùn)行效果如下圖:
三、項(xiàng)目入門
接下來(lái)通過(guò)構(gòu)建一個(gè)簡(jiǎn)單的例子,我們來(lái)看看進(jìn)行游戲開(kāi)發(fā)需要怎么開(kāi)始。
3.1 本地創(chuàng)建 maven 項(xiàng)目
pom.xml 文件添加依賴:
<dependency> <groupId>com.github.almasb</groupId> <artifactId>fxgl</artifactId> <version>11.7</version></dependency>
3.2 添加入口類
創(chuàng)建 BasicGameApp.java,文件內(nèi)容如下:
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 運(yùn)行效果
在開(kāi)發(fā)工具直接右鍵 運(yùn)行 入口類 BasicGameApp.java 即可,運(yùn)行效果如下圖:
四、最后
Java 無(wú)所不能是真的!本篇將的項(xiàng)目你 get 到了嗎?Java 開(kāi)發(fā)小游戲還是相當(dāng)炫酷的!學(xué)習(xí)英語(yǔ)可以聽(tīng)英文歌曲、看英文視頻等等方式。學(xué)習(xí)編程我想也可以通過(guò)開(kāi)發(fā)一款游戲的方式來(lái)增加學(xué)習(xí)興趣,感受編碼的魅力。有了直觀的視覺(jué)沖擊可能更加能激發(fā)你的學(xué)習(xí)和動(dòng)手能力!通過(guò)我內(nèi)容分享,能讓更多的朋友們感受到開(kāi)源項(xiàng)目的魅力,由而對(duì)編程產(chǎn)生興趣,是我最大的樂(lè)趣!
教程至此,你應(yīng)該也能快速運(yùn)行游戲項(xiàng)目了。編程是不是也特別有意思呢?快邀請(qǐng)你的小伙伴一起加入到 Java 游戲開(kāi)發(fā)樂(lè)趣中吧~
五、參考資料
- FXGL 入門教程
- FXGL 視頻教程