Jar*_*rod 10 iphone html5 retina-display html5-canvas
我正在为iPhone创建一个HTML5画布游戏.我想支持视网膜和非视网膜显示器.
我的问题是,我如何支持视网膜和非视网膜显示器?
IE,这样做的一般实现是什么?我是否使用iPhone尺寸编写游戏,然后添加视网膜支持?或者我是否创建了视网膜尺寸并增加了非视网膜支持?是否最好有两个图像,一个视网膜一个非视网膜?或者只是缩小视网膜图像?视网膜和非视网膜是否有单独的帆布尺寸?我需要缩放鼠标输入吗?
基本上,我不知道实现两者的一般思路/逻辑.
干杯,J
Mik*_*maa 11
您可以使用devicePixelRatio将视网膜显示与正常显示分开
您的游戏逻辑坐标(精灵位置等)必须独立于屏幕坐标运行,屏幕坐标在视网膜显示屏上总是2倍.
您的图形资源必须有两个版本.高分辨率版本和50%缩小正常版本.当您使用视网膜显示器时,您绘制2x大小的画布,使用CSS调整大小并在此画布上使用高分辨率资源.
我知道这是一个旧帖子,但我想我会用我实现的解决方案更新它.
1:我使用了两组图像:
取决于正在使用的设备取决于加载的设置.
2:然后我调整画布大小(这是它的关键)
非RETINA
var canvas = document.createElement('myCanvas');
canvas.width = 320;
canvas.height = 480;
canvas.style.width = "320px";
canvas.style.height = "480px";
Run Code Online (Sandbox Code Playgroud)
RETINA
var canvas = document.createElement('myCanvas');
canvas.width = 640;
canvas.height = 960;
canvas.style.width = "320px";
canvas.style.height = "480px";
Run Code Online (Sandbox Code Playgroud)
注意canvas.style.width:height是,无论同您是否使用视网膜与否.
这就是它的全部内容!