我打算使用HTML5的<canvas>
标签创建一个简单的游戏,并使用Phonegap将代码编译成本地应用程序。但问题在于,canvas
使用的坐标与其大小无关,因此在960x640屏幕上的20,20
与480x800的屏幕上不同。
因此,我想知道如何在不同屏幕尺寸上使用全屏的<canvas>
。
ctx.scale(3/4, 3/4)
来完成。如果这对您来说很困惑,我可以尝试制作一个示例。
使用 window
对象的 innerWidth/innerHeight
:
canvas.height = window.innerHeight;
canvas.width = window.innerWidth;
它会自动调整任何屏幕; 你必须测试跨平台/屏幕的兼容性!
此外,不要使用预定义的 x,y
坐标,使用类似以下的内容:
var innerWidth = window.innerWidth;
x = innerWidth / 3;
由于您只有两种屏幕尺寸,因此可以使用两个不同大小的画布(及其背后的逻辑)来处理不同的尺寸。
如果您不喜欢这个解决方案,我认为您只能使用百分比大小而不是像素绝对尺寸。
最后但并非最不重要的是,请尝试在元标记中设置不同的值。