#monogame #library #gui #gamedev

Jean-David Moisan f6e2ab5d9f Update to latest MonoGame.Extended 9 tháng trước cách đây
.github 4c84c760ee Update pipeline 1 năm trước cách đây
.vscode 372c790d30 Update to .net8 1 năm trước cách đây
Example f6e2ab5d9f Update to latest MonoGame.Extended 9 tháng trước cách đây
Images 04b1aa3cf7 Update icon 5 năm trước cách đây
Source f6e2ab5d9f Update to latest MonoGame.Extended 9 tháng trước cách đây
docs 8fdecda550 Make layout happen before draw (#10) 2 năm trước cách đây
.gitignore 916a3f0a2b Ignore apos-docs and artifacts 4 năm trước cách đây
LICENSE 3df5028490 Initial commit 6 năm trước cách đây
README.md a65412cdd7 Replace AposGameStarter with Apos.Camera 1 năm trước cách đây

README.md

Apos.Gui

UI library for MonoGame.

Description

This library is designed to allow the creation of custom user facing UIs. It doesn't provide much out of the box except some mechanics to manage user inputs, focus handling, component parenting and hierarchy. It is inspired by the IMGUI paradigm.

Discord

Documentation

Build

NuGet NuGet

Features

  • Mouse, Keyboard, Gamepad (touch input is possible but not provided out of the box)
  • UI scaling
  • Used like IMGUI but components can be coded like a retained UI

Showcase

Apos.GUI Showcase

Usage Example

You can create a simple UI with the following code that you'll put in the Update call:

MenuPanel.Push();
if (Button.Put("Show fun").Clicked) {
    _showFun = !_showFun;
}
if (_showFun) {
    Label.Put("This is fun!");
}
if (Button.Put("Quit").Clicked) {
    Exit();
}
MenuPanel.Pop();

This code will create 2 buttons, "Show Fun" and "Quit". You can use your mouse, keyboard, or gamepad to interact with them. Clicking on "Show Fun" will insert a label in between them with the text "This is fun!".

You can read more in the Getting started guide.

Other projects you might like