The Nim GUI/2D framework based on OpenGL and SDL2.

Ethosa 9d2df4094a small update :eyes: 3 年之前
.github 5b1b0fbc8b Merge pull request #12 from jiro4989/chore/remove-choosenim-cache 4 年之前
engine 492b15dc4f :eyes: update engine folder o.o 3 年之前
examples c407543f50 update helloworld example lol :japanese_goblin: 3 年之前
screenshots 371453ec7d add screenshots folder. 4 年之前
src 9d2df4094a small update :eyes: 3 年之前
tests 7da2f1cbbd small refactoring. circle progress bar added :eyes::japanese_goblin: 3 年之前
.gitignore 609d9f42f4 add CollisionShape2D and debug mode. 4 年之前
CODE_OF_CONDUCT.md 621e4f41ee Create CODE_OF_CONDUCT.md 5 年之前
LICENSE eb23f4d1f3 Initial commit 5 年之前
README.md 9d2df4094a small update :eyes: 3 年之前
nodesnim.nimble 7fd2ff9b2a global update! :eyes: 4 年之前

README.md

Nodesnim

The Nim GUI/2D framework based on OpenGL and SDL2.

Open Source Love Nim language-plastic License time tracker test

Latest version - 0.0.4

Stable version - 0.0.3

Draft of the best version.

Install

  1. Install this repo
    • nimble install nodesnim or nimble install https://github.com/Ethosa/nodesnim.git
  2. Install dependencies
    • Linux (tested on Ubuntu and Mint):
      • sudo apt install -y freeglut3 freeglut3-dev
      • sudo apt install --fix-missing -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev
    • Windows / MacOS:

Features

  • Godot-like node system.
  • Build nodes with YML-like syntax.
  • Simple usage ```nim import nodesnim

Window("Hello, world!")

build:

- Scene scene:
  name: "Main"
  - Label hello:
    call setSizeAnchor(1, 1)
    call setTextAlign(0.5, 0.5, 0.5, 0.5)
    call setText("Hello, world!")
    background_color: Color(31, 45, 62)

addMainScene(scene) windowLaunch()

```

Now available

This section contains links to documentation for all nodes. |Core |Default nodes |Control nodes |2D Nodes |3D Nodes | |:--: |:--: |:--: | :--: |:--: | |Anchor |Node |Control |Node2D |Node3D | |Color |Canvas |ColorRect |Sprite |GeometryInstance| |ColorText|Scene |TextureRect |AnimatedSprite | | |Enums |AudioStreamPlayer|Label |YSort | | |Exceptions| |Button |CollisionShape2D| | |Image | |EditText |Camera2D | | |Input | |RichLabel | | | |Rect2 | |RichEditText | | | |Vector2 | |Box | | | |Circle2 | |HBox | | | |Polygon2| |VBox | | | |AudioStream| |GridBox | | | |Animation | |Scroll | | | |Vector3 | |ProgressBar | | | |SceneBuilder| |Slider | | | | | |VSlider | | | | | |Popup | | | | | |TextureButton | | | | | |TextureProgressBar| | | | | |Counter | | | | | |Switch | | | | | |SubWindow | | | | | |LineEdit | | |

Debug mode

For use debug mode you should compile with -d:debug or --define:debug, e.g. nim c -r -d:debug main.nim.

Export

Use the Nim compiler user guide for export to the other OS.

  • CrossPlatform export for Windows (tested on Windows 7 x64 and Windows 10 x64)
    • nim c -d:mingw -d:release --opt:speed --noNimblePath file.nim
    • put Runtime binaries in the folder with the program.

Screenshots

F.A.Q

Q: Where can I see examples?
A: You can see this in the tests or examples folder.

Q: Where can I read the docs?
A: You can read docs here