How to scale a Phaser 3 game and their assets to it works in smartphones and tablets?

北慕城南 提交于 2020-01-14 08:13:40

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!