GithubHelp home page GithubHelp logo

myna's People

Contributors

aemorax avatar

Stargazers

Ali Almasi avatar

Watchers

 avatar

myna's Issues

[Feature]: Animation Interface

What should be added?

This interface should be implemented by any sprite sheet animation.

Suggestions on how to implement?

Animations should contain a Play, Stop, isLoop and etc...

[Feature]: DisplayObject bounds

What should be added?

Should be able to get graphical bounds of the DisplayObject.

Suggestions on how to implement?

  • A new geometry class of Rectangle / Rect should be added.
  • DisplayObject will calculate it's children (min/max)(x,y) positions and return it using getBounds() function as a Rect.

Bug: loading textures after game loaded

Describe the bug
After game is loaded new textures won't work even after some frames pass, probably caused by texture loaded while bitmap not having enough time to load.

To Reproduce

  1. Load a texture in update method
  2. Add it to screen on update

Expected behavior
To load the texture and show the exact texture as wanted

Bug: quad rendering causes error

Describe the bug
Quad is not rendering and causes error.

To Reproduce
Steps to reproduce the behavior:

  1. Create any Quad
  2. Add to stage

Add view system

Currently Myna renders objects with Model Projection matrix therefore in order to move the so called camera we need to add another matrix to this called View matrix.

Game engines call this new object Camera, but since camera is a media which take photos and videos in native Android devices, we are gonna avoid that name and will go along with View class.

Every Stage has a main camera that can move and change the matrix of every child of it's stage.
I assume a View in our current configuration of 2D Orthographic should not get scaled and also should not be rotated, maybe add rotation for 3D view in future but a View can only be translated.

Update with delta time

On each step (called between each frame) we need to send starting time of past frame and current frame in step animation
But since we don't override the step function we might want to send it over event.

[Feature]: AssetManager should load asynchronous

What should be added?

We should not create new classes for each async load and AssetManager should become a loader itself and be able to load a whole package assets.

  • Audio Asset
  • Image Asset
  • Text Asset
  • Raw Asset (? maybe a ByteBuffer)

Suggestions on how to implement?

AssetManager should become a EventDispatcher itself and should dispatch Event.COMPLETE, ProgressEvent.PROGRESS, Event.IO_ERROR events.

static shader program binding

To prevent multiple binding and unbinding don't unbind the program and just keep it in static variable for further use.

[Feature]: Setup API generation tools

What should be added?

We need a tool that generates API documentation from comments on code.

Suggestions on how to implement?

Probably we just need to add javadoc tags and there should be an automated CI script to generate API documentation on every commit on main branch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.