imbrn / ace Goto Github PK
View Code? Open in Web Editor NEW♠️ A charming engine. A simple and charming 2D game engine for Javascript.
License: MIT License
♠️ A charming engine. A simple and charming 2D game engine for Javascript.
License: MIT License
Instead of using this.canvas
inside a Scene implementation of draw
method, it's more appropriate and favors encapsulation to use canvas
as an argument of that.
We can see an example in the moving-ball
example:
ace/examples/moving-ball/index.ts
Lines 35 to 41 in 235947c
After this API change it should look like:
draw(canvas: Canvas): void {
canvas.fillStyle = "black";
canvas.fill(rect({ x: 0, y: 0, width: this.resolution.width, height: this.resolution.height }));
canvas.fillStyle = "green";
canvas.fill(circle({ x: this.x, y: this.y, radius: 50 }));
}
In this way, we can avoid exposing canvas abstraction to the whole scene but just for the drawing step.
Support sounds as assets.
Support some kind of transformation system so that objects of the game can be translated, scaled and rotated.
Implement a mechanism for using Easing functions. It should be considered related to an animation
module.
This module probably depends on #22 (Supports transformation)
For this issue, we must consider scaling up/down images as the sprites should fit into the canvas based on the scene resolution. For this reason, maybe it's important to define a way for scaling areas using the coordinates-system
module.
Also, at this first version, we shouldn´t worry about offering a lot of algorithms for scaling up/down images, but I think using the Nearest Neighbour Algorithm is enough for now.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.