开发一款游戏,我相信很多人在学习开发之前都有这么一个想法,但是学完java之后都滚去搞后台、大数据、、、。有时候也回望初心,也想做点东西搞搞却无从下手,毕竟在游戏开发领域,java并不出众,资料也相对较少,所以在此呢也分享一下我采坑的经验,抛砖引玉。最后说一下,以目前的环境来说,java并不适合做游戏,如果想要从事游戏行业的最好还是去学C/C++,亦或者C#,lua..
编辑器:IntelliJ IDEA 2021.3.2
jdk:java17
Maven:3.8.1
游戏引擎:FXGL 17
GUI:javaFX
<dependency>
<groupId>com.github.almasb</groupId>
<artifactId>fxgl</artifactId>
<version>17</version>
</dependency>
首先我们需要创建一个启动类 HelloWorldApp 继承 GameApplication 并实现 initSettings 方法来引入FXGL引擎
public class HelloWorldApp extends GameApplication{
@Override
protected void initSettings(GameSettings settings) {
}
}
@Override
protected void initSettings(GameSettings settings) {
settings.setTitle("Hello world");
settings.setWidth(600);
settings.setHeight(600);
}
此时程序还不能运行,我们需要创建一个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 程序的开始
* @param args 参数
*/
public static void main(String[] args) {
launch(args);
}
}
https://github.com/lhDream/lhDreamGameDemo/tree/master/HelloWorld
java游戏开发入门(一) - HelloWorld
java游戏开发入门(二) - 菜单
java游戏开发入门(三) - 实体
java游戏开发入门(四) - 输入or控制
java游戏开发入门(五) - 碰撞机制
java游戏开发入门(六) - 变量 & UI
java游戏开发入门(七) - 计时器
java游戏开发入门(八) -图像
java游戏开发入门(九) -音效
java游戏开发入门(十) -粒子特效