All Projects → jcyuan → Fairygui Pixijs

jcyuan / Fairygui Pixijs

Licence: mit
A flexible UI lib for PixiJS engine.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Fairygui Pixijs

Toastnotifications
Toast notifications for WPF allows you to create and display rich notifications in WPF applications. It's highly configurable with set of built-in options like positions, behaviours, themes and many others. It's extendable, it gives you possibility to create custom and interactive notifications in simply manner.
Stars: ✭ 507 (+308.87%)
Mutual labels:  gui, ui-components
P5.clickable
Event driven, easy-to-use button library for P5.js 👆
Stars: ✭ 66 (-46.77%)
Mutual labels:  gui, ui-components
Patternfly Design
Use this repo to file all new feature or design change requests for the PatternFly project
Stars: ✭ 82 (-33.87%)
Mutual labels:  gui, ui-components
Liveprof Ui
An aggregator and web interface for Live Profiler
Stars: ✭ 118 (-4.84%)
Mutual labels:  gui
Cemui
A small launcher for the Cemu WiiU emulator made with Electron. Currently on hiatus, development is currently being focused on Pretendo https://github.com/PretendoNetwork/Pretendo
Stars: ✭ 118 (-4.84%)
Mutual labels:  gui
Core
OPNsense GUI, API and systems backend
Stars: ✭ 1,827 (+1373.39%)
Mutual labels:  gui
Black Widow
GUI based offensive penetration testing tool (Open Source)
Stars: ✭ 124 (+0%)
Mutual labels:  gui
Phaser Kinetic Scrolling Plugin
Kinetic Scrolling plugin for Canvas using Phaser Framework
Stars: ✭ 117 (-5.65%)
Mutual labels:  pixijs
Fastclass
Little tools to download and then weed through images, delete and classify them into groups for building deep learning image datasets (based on crawler and tkinter)
Stars: ✭ 123 (-0.81%)
Mutual labels:  gui
Atom Design
🍬 The mobile side UI-library base on Vue.js
Stars: ✭ 120 (-3.23%)
Mutual labels:  ui-components
Hello imgui
Hello, Dear ImGui: cross-platform Gui apps for Windows / Mac / Linux / iOS / Android / Emscripten with the simplicity of a "Hello World" app
Stars: ✭ 120 (-3.23%)
Mutual labels:  gui
Iaito
This project has been moved to:
Stars: ✭ 1,516 (+1122.58%)
Mutual labels:  gui
Jclasslib
jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.
Stars: ✭ 1,789 (+1342.74%)
Mutual labels:  gui
React Virgin
The react-native UI Kit you've been looking for.
Stars: ✭ 1,523 (+1128.23%)
Mutual labels:  ui-components
Wheelview
Android UI library to create wheels
Stars: ✭ 124 (+0%)
Mutual labels:  ui-components
Ka Table
Lightweight MIT React Table component for both TS and JS with Sorting, Filtering, Grouping, Virtualization, Editing and many more
Stars: ✭ 117 (-5.65%)
Mutual labels:  ui-components
Phoenix
wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
Stars: ✭ 1,698 (+1269.35%)
Mutual labels:  gui
Panter Dialog
Panter Dialog is an stylish android library that helps users add cool features like adding header and header logos
Stars: ✭ 119 (-4.03%)
Mutual labels:  ui-components
Fenix
A simple and visual static web server with collaboration features.
Stars: ✭ 1,559 (+1157.26%)
Mutual labels:  gui
Simple
The Simple Intelligent and Modular Programming Language and Environment
Stars: ✭ 120 (-3.23%)
Mutual labels:  gui

* Please be noticed that this project won't be maintained any longer because our projects are changed to Phaser3, I'm sorry.

What is this?

  • This is an UILib based on PixiJS to build game GUI.
  • Download editor here: http://en.fairygui.com/product/
  • Editor supports a few of game engines include Unity3D, PixiJS, ActionScript, Starling etc. Learn more.
  • The developers use the editor and Lib are all here in the Tencent QQ online chat group for discussing issues. Click to join in: Group1 434866637, Group2 614444599. Welcome to join us and have fun. :)

About Lib

Dependencies

Demo

About Editor

Editor

Features

  • WYSWYG
  • Build complex UI components easily without writing any code even no programming knowledge needed.
  • No complex skin configuration. All UI elements are seperated alone and can be mixed up to build more complex components.
  • Timeline tool provided for creating transitions at the design time.
  • Support sequenced frame animation creating.
  • Support using of bitmap fonts which created by BMFont technology, and support to create bitmap font using pictures.
  • Project files are stored separately in order to suit the version controlling, and for project collaboration.
  • Instant preview.
  • Flexible publish strategy, support packing atlas automatically, or define many separated atlases as you want.
  • Image compression with options for image quality etc, you can adjust options to reduce the size of the final package.

How to use the Lib?

Here is a snippet of basic usage example from the demo code: (typescript)

class Main extends PIXI.Application {

    public constructor() {

        let view = document.querySelector("#canvasContainer canvas") as HTMLCanvasElement;

        super({ view: view, backgroundColor: 0xb5b5b5, antialias: true, forceCanvas:false });

        /**global settings */
        fgui.UIConfig.defaultFont = "Microsoft YaHei";
        fgui.UIConfig.verticalScrollBar = "ui://test/ScrollBar_VT";
        fgui.UIConfig.horizontalScrollBar = "ui://test/ScrollBar_HZ";
        fgui.UIConfig.popupMenu = "ui://test/PopupMenu";
        fgui.UIConfig.globalModalWaiting = "ui://test/GlobalModalWaiting";
        fgui.UIConfig.windowModalWaiting = "ui://test/WindowModalWaiting";

        //main entry
        fgui.GRoot.inst.attachTo(this, {
            designWidth: 1136,
            designHeight: 640,
            scaleMode: fgui.StageScaleMode.FIXED_AUTO,
            orientation: fgui.StageOrientation.LANDSCAPE,
            alignV: fgui.StageAlign.TOP,
            alignH: fgui.StageAlign.LEFT
        });

        //start to preload resource
        //test.jpg actually is a binary file but just ends with fake postfix. so here we need to specify the loadType etc.
        let loader = new fgui.utils.AssetLoader();
        loader.add("test", "images/test.jpg", { loadType: PIXI.loaders.Resource.LOAD_TYPE.XHR, xhrType: PIXI.loaders.Resource.XHR_RESPONSE_TYPE.BUFFER })
            .add("[email protected]", "images/[email protected]")
            .add("[email protected]_1", "images/[email protected]_1.png")
            .add("[email protected]_2", "images/[email protected]_2.png")
            .on("progress", this.loadProgress, this)
            .on("complete", this.resLoaded, this)
            .load();
    }

    private loadProgress(loader: PIXI.loaders.Loader): void {
        let p = loader.progress;
        //this.loadingView.setProgress(p);
        if (p >= 100) {
            loader.off("progress", this.loadProgress, this);
            //this.loadingView.dispose();
            //this.loadingView = null;
        }
    }

    private resLoaded(loader: PIXI.loaders.Loader): void {
        loader.removeAllListeners();

        fgui.UIPackage.addPackage("test");  //add your package built in the editor
        
        let ins = fgui.UIPackage.createObject("test", "main") as fgui.GComponent;   //create an object to display
        ins.setSize(fgui.GRoot.inst.width, fgui.GRoot.inst.height);     //add relation so that it will be auto resized when the window size is changed.
        ins.addRelation(fgui.GRoot.inst, fgui.RelationType.Size);
        fgui.GRoot.inst.addChild(ins);   //show it
    }

License

This content is released under the MIT License.

Analytics

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].