java swing游戏引擎_基于Swing / JavaFX的JVM游戏引擎

FriceEngine是一个简单轻便的原生游戏引擎,适用于JVM,支持Kotlin、Java、JRuby、Groovy等语言。它依赖Java内置的GUI框架Swing和JavaFX,提供生命周期管理、对话框、截图等功能。尽管仍处于开发中,但已实现全屏、始终置顶等特性,并包含资源管理、动画效果和音频播放等平台无关的功能。
摘要由CSDN通过智能技术生成

FriceEngine

a5a6c346468b2c249a799aec518730eb.png

CI

status

Travis CI

68747470733a2f2f7472617669732d63692e6f72672f6963656c612f4672696365456e67696e652e7376673f6272616e63683d6d6173746572

AppVeyor

68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f373564377778323875337467746e61743f7376673d74727565

CircleCI

68747470733a2f2f636972636c6563692e636f6d2f67682f6963656c612f4672696365456e67696e652e7376673f7374796c653d737667

CodeShip

68747470733a2f2f636f6465736869702e636f6d2f70726f6a656374732f61316437626336302d306133302d303133352d386233632d3665643464376533336535372f7374617475733f6272616e63683d6d6173746572

68747470733a2f2f6a69747061636b2e696f2f762f6963656c612f4672696365456e67696e652e73766768747470733a2f2f6170692e62696e747261792e636f6d2f7061636b616765732f696365313030302f4672696365456e67696e652f656e67696e652f696d616765732f646f776e6c6f61642e73766768747470733a2f2f6a69747061636b2e696f2f762f6963656c612f4672696365456e67696e652f6d6f6e74682e737667

68747470733a2f2f6b6f746c696e2e6c696e6b2f617765736f6d652d6b6f746c696e2e73766768747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d2545322539442541342d4646343038312e737667

An easy, light, native game engine running on JVM.

Why easy?

A flappy bird game uses just 56 lines of Java code only.

Written in Kotlin, also work on Java, JRuby, Groovy, Scala and other JVM languages.

Why light?

The release build jar is about 1.6mb (with a 1mb Kotlin runtime) only.

Why native?

This engine is completely platform-independent: no JNI linkage, no native methods.

View Document to learn how to use Frice Engine.

Screenshots

68747470733a2f2f636f64696e672e6e65742f752f696365313030302f702f476966732f6769742f7261772f6d61737465722f66726963652f66726963652d30312e676966

68747470733a2f2f636f64696e672e6e65742f752f696365313030302f702f476966732f6769742f7261772f6d61737465722f66726963652f66726963652d30322e676966

68747470733a2f2f636f64696e672e6e65742f752f696365313030302f702f476966732f6769742f7261772f6d61737465722f66726963652f66726963652d30332e676966

68747470733a2f2f636f64696e672e6e65742f752f696365313030302f702f476966732f6769742f7261772f6d61737465722f66726963652f66726963652d30342e676966

68747470733a2f2f636f64696e672e6e65742f752f696365313030302f702f476966732f6769742f7261772f6d61737465722f66726963652f66726963652d30352e676966

Build

Gradle:

repositories { jcenter() }

dependencies { compile 'org.frice:engine:1.8.5' }

Alternatively, you can follow the instruction from JitPack.

Alternatively, you can download a jar from the release page.

Features

This engine is based on Java's built-in GUI framework, both Swing and JavaFX. "Platform" here refers to Swing/JavaFX.

Platform dependent

These features are differently implemented in Swing/JavaFX.

Since this project is still in progress, the unsupported features will soon be available.

Feature

Swing

JavaFX

Life cycle

Dialogs

Cursor overriding

Screenshot

Buttons

Full screen

Always on top

Text font/size

Multi-instances

×

Resizability

Key listener

Text measuring

Platform independent

Animations (moving, scaling, rotating, accelerating, chasing, approaching, etc.)

Audio playing (*.wav, *.mp3) by JavaSound/JavaFX Media

Clock system, timers

Delayed event manager

Automatic garbage collection (optional, objects far from the screen will be removed)

Resource manager (caching IO)

File/Image/Color/URL utils

Game objects

Frame animations

Key-value database

Particle effects

Attaching game objects

Collision detection with collision box

DSL

Contributions

Feel free to open issue for feature request, bug reports, etc.

This is generally a personal project, so please do give your genuine suggestions.

This project is using Issue-Driven-Development.

Issues are well organized and used to managed tasks.

Demos

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值