在iOS设备上使用CraftyJS的场景大小

时间:2012-08-23 13:42:09

标签: javascript ios mobile-safari viewport craftyjs

我正在尝试制作一个100x100像素的CraftyJS场景,在iOS上的移动Safari中显示为100x100像素。

代码基本上是这样的:

function init() {
// Start crafty     
Crafty.init(100, 100);
Crafty.canvas.init();
Crafty.background('#eeeeee');
Crafty.e('2D, Canvas, Color').attr({x: 0, y: 0, w: 10, h: 10}).Color('black');
}

在桌面上它运行正常。在移动版Safari上,它会调整为不同大小。我试图摆弄视口metatag但似乎Crafty有自己的设置。任何帮助或指向正确方向的指标都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

JS代码看起来很好,您的视口设置应该如下,以确保设备不会尝试缩放页面以适应:

  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

答案 1 :(得分:1)

我相信我找到了原因 - 视网膜显示器上的Safari(高DPI)将每个CSS像素解释为2个逻辑像素,从而使图像的大小加倍。有一个webkit设置可以改变这样的东西:

<link rel="stylesheet" type="text/css" href="/css/retina.css" media="only screen and (-webkit-min-device-pixel-ratio: 2)" />

至于Crafty本身,我可能需要摆弄它的视口设置并在视网膜显示器上将初始比例设置为0.5而不是1.0来解决这个问题。