FXGL icon indicating copy to clipboard operation
FXGL copied to clipboard

Java / JavaFX / Kotlin Game Library (Engine)

Results 171 FXGL issues
Sort by recently updated
recently updated
newest added

In Images.kt file, `fun Image.map(overlay: Image, f: (Pixel, Pixel) -> Pixel): Image` combines `overlay` and `this` to produce a new `Image` using the function `f` to map pixels from the...

type:bug

An example with some text explaining how scenes and sub-scenes work

help wanted
difficulty:medium
type:non code
good-first-issue
codefest23-24

In the fxgl-tools module, com.almasb.fxgl.tools.dialogues.ExpandableTextArea, we compute the height: ``` var newHeight = text.layoutBounds.height + 20.0 newHeight = if (abs(prevHeight - newHeight) > 15) newHeight else prevHeight ``` Ideally, this...

type:refactor
help wanted
difficulty:medium
lang:kotlin-only
codefest23-24

In addition to games (which extend `GameApplication`), FXGL can be used to develop editors. Example: [dialogue editor](https://fxgl.itch.io/fxgl-dialogue-editor). Editors typically share some functionality: * An infinite grid that can be traversed...

type:new feature
help wanted
difficulty:hard
lang:java-or-kotlin

Some code to play with inside TilesetLoader: ``` // TODO: no support for stagger axis == "Y" fun loadViewHex(layerName: String): Node { log.debug("Loading view for layer $layerName") val layer =...

help wanted
difficulty:hard

This includes generation of profile data, saving and loading. Also needs to consider allowing no-profile games - [ ] FXGLMenu, use profile name instead of "./" to save/load data. Perhaps...

- [ ] performance (Poor dev pane performance when game world has many entities) - [ ] DevService / DevPane need further redesign - [ ] allow devs to add...

There are a lot of assumptions that, if not met, will crash the call

DialogueGraph in `com.almasb.fxgl.cutscene.dialogue` ``` // TODO: source has to be ChoiceNode, otherwise it does not make sense fun addChoiceEdge(source: DialogueNode, optionID: Int, target: DialogueNode) { edges += DialogueChoiceEdge(source, optionID, target)...