瀏覽代碼

✨ Add different pixel density options for mobile and desktop

Pedro Schneider 3 年之前
父節點
當前提交
7cabbe815b
共有 2 個文件被更改,包括 21 次插入2 次删除
  1. 20 0
      pandora/handlers/GameHandler.js
  2. 1 2
      src/sketch.js

+ 20 - 0
pandora/handlers/GameHandler.js

@@ -46,13 +46,28 @@ const GameHandler = {
         this.dbHeight = h;
     },
 
+    pixelDen: 1,
+    setPixelDensity: function(val)
+    {
+        this.pixelDen = val;
+    },
+
+    pixelDenMobile: 2,
+    setPixelDensityMobile: function(val)
+    {
+        this.pixelDenMobile = val;
+    },
+
     drawDebugFPS(val)
     {
         this.bDrawDebugFPS = val;
     },
 
+    isMobile: null,
     init: function(fps = 60)
     {
+        this.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
+
         if (!this.renderMode) this.renderMode = RENDER_MODES.P2D;
         switch (this.renderMode)
         {
@@ -67,7 +82,12 @@ const GameHandler = {
                 break;
 
         }
+
         frameRate(fps);
+        if (this.isMobile)
+            pixelDensity(this.pixelDenMobile);
+        else
+            pixelDensity(this.pixelDen);
         smooth();
 
         if (this.renderMode == RENDER_MODES.WEBGL)

+ 1 - 2
src/sketch.js

@@ -27,7 +27,6 @@ class TestObject2 extends Object2D
 {
     _setup()
     {
-        this.visible = true;
         this.position = new Vector2(100, 0);
     }
 
@@ -38,7 +37,7 @@ class TestObject2 extends Object2D
 
     _draw(delta, db)
     {
-        if (this.visible) db.ellipse(0, 0, 50);
+        db.ellipse(0, 0, 50);
     }
 }