前言 {#前言}
开发一款游戏,我相信很多人在学习开发之前都有这么一个想法,但是学完java之后都滚去搞后台、大数据、、、。有时候也回望初心,也想做点东西搞搞却无从下手,毕竟在游戏开发领域,java并不出众,资料也相对较少,所以在此呢也分享一下我采坑的经验,抛砖引玉。最后说一下,以目前的环境来说,java并不适合做游戏,如果想要从事游戏行业的最好还是去学C/C++,亦或者C#,lua..
开发环境 {#开发环境}
编辑器:IntelliJ IDEA 2021.3.2
jdk:java17
Maven:3.8.1
游戏引擎:FXGL 17
GUI:javaFX
启程 Hello World {#启程-hello-world}
Maven {#maven}
<dependency>
<groupId>com.github.almasb</groupId>
<artifactId>fxgl</artifactId>
<version>17</version>
</dependency>
启动类 HelloWorldApp {#启动类-helloworldapp}
首先我们需要创建一个启动类 HelloWorldApp 继承 GameApplication 并实现 initSettings 方法来引入FXGL引擎
public class HelloWorldApp extends GameApplication{
@Override
protected void initSettings(GameSettings settings) {
}
}
创建一个600 x 600,标题为"Hello world"的窗体 {#创建一个600-x-600标题为hello-world的窗体}
@Override
protected void initSettings(GameSettings settings) {
settings.setTitle("Hello world");
settings.setWidth(600);
settings.setHeight(600);
}
main {#main}
此时程序还不能运行,我们需要创建一个main方法来启动程序,调用FX的launch方法即可启动程序
public static void main(String[] args) {
launch(args);
}
运行效果 {#运行效果}
完整代码 {#完整代码}
import com.almasb.fxgl.app.GameApplication;
import com.almasb.fxgl.app.GameSettings;
/**
-
@author lhDream
*/
public class HelloWorldApp extends GameApplication {
@Override
protected void initSettings(GameSettings settings) {
settings.setTitle("Hello world");
settings.setWidth(600);
settings.setHeight(600);
}
/**
``
-
main 程序的开始
-
@paramargs 参数 */``
public
static
void
main(String[] args){ launch(args); } }
完整项目 {#完整项目}
https://github.com/lhDream/lhDreamGameDemo/tree/master/HelloWorld