Optimised particle fields
This commit is contained in:
parent
7e8c4cdf12
commit
49cb0efe72
@ -9,11 +9,11 @@ class BlueParticle extends MomentumEngine.Classes.Rect {
|
|||||||
|
|
||||||
constructor (x, y) {
|
constructor (x, y) {
|
||||||
super(x, y, 1, 1, new MomentumEngine.Classes.Color(255, 255, 255, 0));
|
super(x, y, 1, 1, new MomentumEngine.Classes.Color(255, 255, 255, 0));
|
||||||
this.timeToLive = 15000;
|
this.timeToLive = 25500;
|
||||||
}
|
}
|
||||||
|
|
||||||
update (delta) {
|
update (delta) {
|
||||||
this.color.a = this.color.a - (delta * 0.00005);
|
this.color.a = this.color.a - (delta * 0.00004);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -46,10 +46,10 @@ window.onload = function () {
|
|||||||
let rect = new MomentumEngine.Classes.Rect(width / 8 - baseSize, height / 2 - baseSize, baseSize * 2, baseSize * 2, red),
|
let rect = new MomentumEngine.Classes.Rect(width / 8 - baseSize, height / 2 - baseSize, baseSize * 2, baseSize * 2, red),
|
||||||
emitter = new MomentumEngine.Classes.Emitter(baseSize, baseSize, 4, new MomentumEngine.Classes.Vector2D(0, 0.05), BlueParticle);
|
emitter = new MomentumEngine.Classes.Emitter(baseSize, baseSize, 4, new MomentumEngine.Classes.Vector2D(0, 0.05), BlueParticle);
|
||||||
|
|
||||||
let fieldRect = new MomentumEngine.Classes.Rect(width - (baseSize * 33), height - (baseSize * 10), baseSize * 2, baseSize * 2, blue),
|
let fieldRect = new MomentumEngine.Classes.Rect(width - (baseSize * 33), height - (baseSize * 11), baseSize * 2, baseSize * 2, blue),
|
||||||
field = new MomentumEngine.Classes.Field(baseSize, baseSize, 0.1);
|
field = new MomentumEngine.Classes.Field(baseSize, baseSize, 0.1);
|
||||||
|
|
||||||
let fieldRect2 = new MomentumEngine.Classes.Rect(width - (baseSize * 33), baseSize * 10, baseSize * 2, baseSize * 2, blue),
|
let fieldRect2 = new MomentumEngine.Classes.Rect(width - (baseSize * 33), baseSize * 9, baseSize * 2, baseSize * 2, blue),
|
||||||
field2 = new MomentumEngine.Classes.Field(baseSize, baseSize, 0.1);
|
field2 = new MomentumEngine.Classes.Field(baseSize, baseSize, 0.1);
|
||||||
|
|
||||||
mainScene.addChildEntity(rect);
|
mainScene.addChildEntity(rect);
|
||||||
@ -82,7 +82,7 @@ window.onload = function () {
|
|||||||
|
|
||||||
emitter.setParticleParent(mainScene);
|
emitter.setParticleParent(mainScene);
|
||||||
emitter.particleFields.push(field, field2);
|
emitter.particleFields.push(field, field2);
|
||||||
//emitter.spread = Math.PI / 32;
|
emitter.spread = Math.PI / 8;
|
||||||
emitter.emitting = true;
|
emitter.emitting = true;
|
||||||
|
|
||||||
particles.start();
|
particles.start();
|
||||||
|
@ -195,6 +195,10 @@ class Entity {
|
|||||||
|
|
||||||
let rendered = this.render && this.render();
|
let rendered = this.render && this.render();
|
||||||
|
|
||||||
|
if (rendered) {
|
||||||
|
this._game._lastFrameTotalRenders++;
|
||||||
|
}
|
||||||
|
|
||||||
if (rendered || (typeof rendered == "undefined") || (typeof this.render === "undefined")) {
|
if (rendered || (typeof rendered == "undefined") || (typeof this.render === "undefined")) {
|
||||||
|
|
||||||
this.children.forEach((child) => {
|
this.children.forEach((child) => {
|
||||||
|
@ -95,6 +95,7 @@ class Game extends Entity {
|
|||||||
|
|
||||||
this._game = this;
|
this._game = this;
|
||||||
this._lastFrameTimestamp = 0;
|
this._lastFrameTimestamp = 0;
|
||||||
|
this._lastFrameTotalRenders = 0;
|
||||||
this._wantPause = true;
|
this._wantPause = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -146,8 +147,9 @@ class Game extends Entity {
|
|||||||
let currentTimestamp = +(new Date()),
|
let currentTimestamp = +(new Date()),
|
||||||
delta = currentTimestamp - self._lastFrameTimestamp;
|
delta = currentTimestamp - self._lastFrameTimestamp;
|
||||||
|
|
||||||
delta = Math.min(delta, 1000 / self.desiredFps);
|
//delta = Math.min(delta, 1000 / self.desiredFps);
|
||||||
self._lastFrameTimestamp = currentTimestamp;
|
self._lastFrameTimestamp = currentTimestamp;
|
||||||
|
self._lastFrameTotalRenders = 0;
|
||||||
|
|
||||||
self.step(delta);
|
self.step(delta);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user