问题
I'm new working with Phaser 3 and Apache Córdova for create mobile Android games.
I have created a game of 1200 x 800 px. It looks fine in tablets but in smartphones doesn't. How can I scale it to work in multiple screen sizes?
Additionally, I need help to force to landscape the game orientation using Phaser 3.
Thanks
回答1:
function create () {
window.addEventListener('resize', resize);
resize();
}
function resize() {
var canvas = game.canvas, width = window.innerWidth, height = window.innerHeight;
var wratio = width / height, ratio = canvas.width / canvas.height;
if (wratio < ratio) {
canvas.style.width = width + "px";
canvas.style.height = (width / ratio) + "px";
} else {
canvas.style.width = (height * ratio) + "px";
canvas.style.height = height + "px";
}
}
回答2:
To control screen orientation, add the following to the applicationManifest xml in the build/src/main directory of your android project. This will disappear every time you rebuild from a package creator like capacitor, so you'll need to replace it every time you generate an android project.
<application
...
android:screenOrientation="landscape"
>
<activity
...
android:screenOrientation="landscape">
...
</activity>
</application>
来源:https://stackoverflow.com/questions/50742927/how-to-scale-a-phaser-3-game-and-their-assets-to-it-works-in-smartphones-and-tab