2016-02-14 01:19:07 +00:00

76 lines
1.9 KiB
JavaScript

"use strict";
import MomentumEngine from "../../src/es6";
let KeyConsts = MomentumEngine.Consts.Input.Keys;
class BlueParticle extends MomentumEngine.Classes.Rect {
constructor (x, y) {
super(x, y, 1, 1, new MomentumEngine.Classes.Color(255, 255, 255, 0));
this.timeToLive = 5000;
}
update (delta) {
this.color.a = this.color.a - (delta * 0.00025);
}
}
window.onload = function () {
let width = 640,
height = 360,
baseSize = width / 64;
let particles = new MomentumEngine.Classes.Game({
canvas: document.getElementById("canvas"),
width: width,
height: height,
fixRatio: true,
desiredFps: 60,
inputs: {
keyboard: true
}
});
let black = new MomentumEngine.Classes.Color(0, 0, 0),
red = new MomentumEngine.Classes.Color(255, 0, 0);
let mainScene = new MomentumEngine.Classes.Rect(0, 0, width, height, black);
particles.addChildEntity(mainScene);
let rect = new MomentumEngine.Classes.Rect(width / 2 - baseSize, height / 2 - baseSize, baseSize * 2, baseSize * 2, red),
emitter = new MomentumEngine.Classes.Emitter(baseSize, baseSize, 4, new MomentumEngine.Classes.Vector2D(0, 1), BlueParticle);
mainScene.addChildEntity(rect);
rect.addChildEntity(emitter);
rect.update = function (delta) {
if (particles.inputs.keyboard.isPressed(KeyConsts.UP)) {
rect.pos.y -= (0.2 * delta);
}
if (particles.inputs.keyboard.isPressed(KeyConsts.DOWN)) {
rect.pos.y += (0.2 * delta);
}
if (particles.inputs.keyboard.isPressed(KeyConsts.LEFT)) {
rect.pos.x -= (0.2 * delta);
}
if (particles.inputs.keyboard.isPressed(KeyConsts.RIGHT)) {
rect.pos.x += (0.2 * delta);
}
};
emitter.setParticleParent(mainScene);
emitter.emitting = true;
particles.start();
};