Libgdx游戲開發系列教程(1)——環境配置及demo運行

目錄

環境

JDK環境

項目創建

1.下載gdx-setup.jar文件

2.填寫信息,創建項目

demo運行步驟

1.修改gradle.properties

2.安裝Build-Tool

3.運行


Libgdx游戲是基于Java的一款游戲引擎,可以發布Android,桌面端,Html,IOS等游戲,出名的《殺戮尖塔》也是用了此引擎制作的

本文以Libgdx1.10.0版本,參考官方文檔的步驟,記錄本人環境配置及運行demo的過程,希望給各位帶來些許幫助 😄

環境

JDK環境
  • JDK8
  • JDK11

這里,也解釋一下為什么需要JDK8和JDK11兩個JDK版本

在下面講解的項目創建步驟中,需要從Libgdx官網中下載一個jar文件

這個jar文件,主要就是方便快速創建項目代碼,我猜測是其使用JavaFx編寫的,因為我嘗試過使用JDK11的java -jar命令去執行它,發現打不開

然后,為什么需要JDK11呢?因為創建出來的項目代碼,項目最低支持JDK11,而不是JDK8

JDK11可以不用自己寫,可以直接使用IDE自帶的JDK11,像IDEA和Android Studio,根目錄已經有一份JDK11,

但兩個軟件的文件夾名有所不同,IDEA根目錄下是jbr文件夾,Android Studio則是jre文件夾

如下圖是IDEA中的JDK11:

IDE環境

  • Android Studio Chipmunk|2021.2.1 及以上版本 (下載地址)
  • IDEA 2020.3.1以上

PS:上面的軟件二選一,看你需求,如果你不打算開發Android版本,選IDEA即可

本人是打算開發桌面端和Android版本,所以下文均是以Android Studio進行講解,由于Android Studio是基于IDEA開發的,所以各位也可以參考

項目創建

1.下載gdx-setup.jar文件

訪問Creating a Project - libGDX,找到對應的按鈕進行下載

如下圖所示:

2.填寫信息,創建項目

第二步,則是打開gdx-setup.jar文件,然后填寫對應的項目信息,即可創建項目代碼

PS:這里,我電腦是可以雙擊打開的,如果你電腦沒法雙擊打開jar文件,可以選擇執行下面命令來打開

java -jar xx.jar

打開之后,我們可以看到如下頁面

  • Name: 游戲名稱
  • Package: 游戲包名
  • Game Class: 游戲的主類Java文件名
  • Destination: 項目代碼文件夾目錄
  • Android SDK: Android SDK文件夾

這里我們需要改下倉庫源設置,點擊高級設置

填入國內的Maven倉庫源(生成項目代碼的時候里面的Gradle倉庫源會添加你加的倉庫源)

這里我填的是阿里云的Maven倉庫地址

https://maven.aliyun.com/repository/public

點擊生成按鈕,即可開始生成項目

這里,可以看到日志中,出現了Build FAILED的提示,這里實際上就是下面demo運行起來的報錯,我們放在下一章節說明

至此,我們已完成了項目的創建工作,得到了一個包含代碼的項目

demo運行步驟

1.修改gradle.properties

下面,我們使用Android Studio軟件打開項目文件夾

之后就會發現出現了錯誤

這里,我是因為當前是JDK8環境,所以導致報錯了,提示有以下3種解決方法:

  1. 修改我們IDE的設置
  2. 修改全局的JAVA_HOME的環境變量
  3. 修改項目文件夾中的gradle.properties文件

因為不想動我本地電腦的相關環境變量配置,所以我決定采用第三種

找到gradle.properties文件

加上以下屬性即可

org.gradle.java.home=D\:/app/dev/jdk-11.0.2

改為你JDK11文件夾目錄即可

但是實際發現,加上此段代碼后,用Android Studio打開項目的時候,Gradle還是會報上述的問題,感覺像是Android Studio的bug吧

這個時候,我就用了第一種方法,去修改了Android Studio的Gradle設置,便是解決了問題

上圖我是選擇了Android Studio自帶的JDK11版本,發現也能用

你的項目如果是只支持電腦版的話,應該完事無礙就可以跑起項目了(下文的步驟2則是關于Android的知識了)

2.安裝Build-Tool

由于項目代碼里的Android默認是用了31的build-tool,但是我的本地SDK沒有安裝,所以需要安裝一下31版本的工具

步驟如下圖所示:

3.運行

桌面端運行,打開desktop目錄下的DesktopLauncher文件,點擊運行即可

如果Android版本的,則是和普通的Android項目一樣,運行即可

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71202.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71202.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71202.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【jenkins配置記錄】

全局工具配置: D:\Program Files\Java\jdk1.8.0_281 D:\Program Files\Git\bin\git.exe E:\allure-2.13.2 2. GIT 3. 定時任務 H 8 * * 1-5 4. 構建觸發器 5. 構建后操作 Allure Report 吐血記錄:報告路徑可以為 workspace 相對路徑 6. 系統配置 em…

C++:內聯函數

內聯函數可以用來降低運行時間,當內聯函數收到編譯器的指示時,即可發生內聯:編譯器會使用函數的定義體來替代函數調用語句,此行為發生在編譯階段。 定義內聯函數涉及的關鍵字為inline,例如: inline void …

Linux網絡相關概念和重要知識(1)(網絡協議、網絡通信)

目錄 1.網絡協議 (1)網絡的起源 (2)為什么需要協議 (3)協議分層及其設計的解耦 (4)OSI定義的七層網絡模型 ①分層及其功能 ②TCP/IP協議 ③傳輸層協議(TCP和UDP&a…

【入門Web安全之前端學習的側重點和針對性的建議】

入門Web安全之前端學習的側重點和針對性的建議 一、HTML:理解攻擊載荷的載體二、CSS:次要但需警惕點擊劫持三、JavaScript:滲透測試的核心重點四、瀏覽器工具:滲透測試的實戰武器五、學習建議與資源六、總結:滲透測試者…

QILSTE H6-C210TCG高亮翠綠光LED燈珠 發光二極管LED

# H6-C210TCG:高亮翠綠光LED的復雜特性解析 在現代電子設備的復雜設計中,H6-C210TCG型號的高亮翠綠光LED以其獨特的光學和電氣特性脫穎而出。這款LED不僅具備緊湊的尺寸,還融合了復雜的參數設計,使其在眾多應用場景中表現出色。然…

Linux操作系統5-進程信號2(信號的4種產生方式,signal系統調用)

上篇文章:Linux操作系統5-進程信號1(信號基礎)-CSDN博客 本篇Gitee倉庫:myLerningCode/l25 橘子真甜/Linux操作系統與網絡編程學習 - 碼云 - 開源中國 (gitee.com) 本篇重點:信號的4種產生 目錄 一. signal系統調用 …

如何在docker中的mysql容器內執行命令與執行SQL文件

通過 docker ps -a 查詢當前運行的容器,找到想執行命令的容器名稱。 docker ps -a若想執行sql文件,則將sql文件放入當前文件夾下后將項目內的 SQL 文件拷貝到 mysql 容器內部的 root下。 sudo docker cp /root/enterprise.sql mysql:/root/然后進入 my…

STM32 RTC實時時鐘詳解與HAL庫實戰教程

摘要:本文深入講解STM32的RTC(Real-Time Clock)模塊,涵蓋原理分析、CubeMX配置、HAL庫編程實現,并提供完整的鬧鐘設置與時間校準例程代碼。通過本文,您將掌握RTC在低功耗場景下的核心應用技巧。 1. RTC模塊…

Spring Boot攔截器(Interceptor)與過濾器(Filter)詳細教程

Spring Boot攔截器(Interceptor)與過濾器(Filter)詳細教程 目錄 概述 什么是攔截器(Interceptor)?什么是過濾器(Filter)?兩者的核心區別 使用場景 攔截器的典…

Tauri跨平臺開發問題及解決方案深度解析(React版)

Tauri跨平臺開發問題及解決方案深度解析(React版) 一、環境配置與項目初始化難題(React適配) 1.1 React項目初始化 推薦模板: # 使用ReactTypeScript模板 npm create tauri-applatest -- --template react-ts# 項目…

AIGC和搜索引擎的異同

AIGC(生成式人工智能)與搜索引擎的核心差異體現在信息處理方式和輸出形態上,我們可以從以下維度對比: 一、工作原理的本質差異 信息檢索機制 搜索引擎:基于關鍵詞匹配(如"中暑怎么辦"→返回相關…

SFT與RLHF的關系

在大模型訓練中,SFT(監督微調)和RLHF(基于人類反饋的強化學習)是相互關聯但目標不同的兩個階段,通常需要結合使用以優化模型性能,而非互相替代。以下是關鍵要點: 1. 核心關系 SFT&…

C# 類型轉換

C# 類型轉換 引言 在C#編程語言中,類型轉換是一種將一個數據類型的變量轉換成另一個數據類型的操作。類型轉換是編程中常見的操作,特別是在處理不同數據類型的變量時。本文將詳細探討C#中的類型轉換,包括隱式轉換和顯式轉換,以及…

提升系統效能:從流量控制到并發處理的全面解析

在當今快速發展的數字時代,無論是構建高效的網絡服務、管理海量數據,還是優化系統的并發處理能力,都是技術開發者和架構師們面臨的重大挑戰。本文集旨在深入探討幾個關鍵技術領域,包括用于網絡通信中的漏桶算法與令牌桶算法的原理…

Git GitHub基礎

git是什么? Git是一個分布式版本控制系統,用于管理源代碼的變更。它允許多個開發者在同一個項目上協作,同時跟蹤每個修改的歷史記錄。 關鍵詞: 分布式版本控制軟件 軟件 安裝到我們電腦上的一個工具 版本控制 例如論文&…

派可數據BI接入DeepSeek,開啟智能數據分析新紀元

派可數據BI產品完成接入DeepSeek,此次接入標志著派可數據BI在智能數據分析領域邁出了重要一步,將為用戶帶來更智能、更高效、更便捷的數據分析體驗。 派可數據BI作為國內領先的商業智能解決方案提供商,一直致力于為用戶提供高效、穩定易擴展…

Linux-ftrace-雙nop機制的實現

Linux 內核調試工具ftrace 之(NOP動態插樁的實現原理) ftrace 是 Linux 內核中的一種跟蹤工具,主要用于性能分析、調試和內核代碼的執行跟蹤。它通過在內核代碼的關鍵點插入探針(probe)來記錄函數調用和執行信息。這對…

Qt互斥鎖(QMutex)的使用、QMutexLocker的使用

Qt互斥鎖【QMutex】的使用、QMutexLocker的使用 基于讀寫鎖(QReadWriteLock)的線程同步Chapter1 Qt互斥鎖(QMutex)的使用、QMutexLocker的使用一、QMutexLocker和QMutex實現示例圖二、QMutex和QMutexLocker的關系(個人理解)三、QMutex使用和QMutexLocker…

【無標題】Ubuntu22.04編譯視覺十四講slambook2 ch4時fmt庫的報錯

Ubuntu22.04編譯視覺十四講slambook2 ch4時fmt庫的報錯 cmake ..順利&#xff0c;make后出現如下報錯&#xff1a; in function std::make_unsigned<int>::type fmt::v8::detail::to_unsigned<int>(int): trajectoryError.cpp:(.text._ZN3fmt2v86detail11to_unsi…

SpringBoot ——簡單開發流程實戰

本文使用SpringBoot進行電商系統商品數據增刪改查的簡單開發流程。 本文目錄 一、創建Spring Boot項目二、配置數據庫連接三、創建實體類四、創建Repository接口五、創建Service層六、創建Controller層七、測試 一、創建Spring Boot項目 可以通過https://start.spring.io/或者…