|
@@ -31,7 +31,7 @@ const GameHandler = {
|
|
|
nextId: 0, // ID to be given to the next object added to the tree.
|
|
|
rootObjects: [], // List of objects on the root of the tree.
|
|
|
|
|
|
- renderMode: RENDER_MODES.P2D, // Can be RENDER_MODES.P2D or RENDER_MODES.WEBGL.
|
|
|
+ renderMode: 1, // Can be RENDER_MODES.P2D or RENDER_MODES.WEBGL.
|
|
|
|
|
|
bDrawDebugFPS: false, // Should fps be drawn (for debug only).
|
|
|
debugFpsLabel: null, // Object that drwas fps.
|
|
@@ -47,6 +47,9 @@ const GameHandler = {
|
|
|
pixelDen: 1, // Pixel density for the canvas on destop devices.
|
|
|
pixelDenMobile: 2, // Pixel denisty for the canvas on mobile devices.
|
|
|
|
|
|
+ mouseX: 0, // X position of the mouse relative to the secondary buffer.
|
|
|
+ mouseY: 0, // Y position of the mouse relative to the secondary buffer.
|
|
|
+
|
|
|
/**
|
|
|
* Sets the initial game render mode.
|
|
|
*
|
|
@@ -228,10 +231,6 @@ const GameHandler = {
|
|
|
// Clear the secondary buffer.
|
|
|
this.db.clear();
|
|
|
|
|
|
- // Draw all game objects.
|
|
|
- for (let i = 0; i < this.rootObjects.length; i++)
|
|
|
- this.rootObjects[i].draw(this.delta, this.db);
|
|
|
-
|
|
|
// Draw a rectangle to visualize the secondary buffer.
|
|
|
// TODO: remove this
|
|
|
this.db.push();
|
|
@@ -254,6 +253,16 @@ const GameHandler = {
|
|
|
this.db.screenWidth = windowHeight * (this.dbWidth / this.dbHeight);
|
|
|
}
|
|
|
|
|
|
+ let ar = this.db.screenWidth / this.db.width;
|
|
|
+ let offsetx = (windowWidth - this.db.screenWidth) / 2;
|
|
|
+ let offsety = (windowHeight - this.db.screenHeight) / 2;
|
|
|
+ this.mouseX = (mouseX - offsetx) / ar;
|
|
|
+ this.mouseY = (mouseY - offsety) / ar;
|
|
|
+
|
|
|
+ // Draw all game objects.
|
|
|
+ for (let i = 0; i < this.rootObjects.length; i++)
|
|
|
+ this.rootObjects[i].draw(this.delta, this.db);
|
|
|
+
|
|
|
// Draws the secondary buffer to the main canvas.
|
|
|
image(this.db, windowWidth / 2, windowHeight / 2, this.db.screenWidth, this.db.screenHeight);
|
|
|
|