Короче, раз уж мне никто не отвечает... После 3-х дней поисков я набрёл на решение на StackOverflow:
(function() {
var targetWidth = 640, // идеальная ширина приложения (под неё рисуем спрайты и т.п.)
targetHeight = 960, // 640х960 - это iPhone 4, под меньшее разрешение наверно нет смысла делать
deviceRatio = window.innerWidth / window.innerHeight,
newRatio = (targetHeight / targetWidth) * deviceRatio,
newWidth = targetWidth * newRatio,
newHeight = targetHeight,
game = new Phaser.Game(newWidth, newHeight, Phaser.CANVAS, ''); // последний аргумент - родитель (если пусто, значит canvas создастся в body)
game.state.add('Boot', Boot);
game.state.add('Preload', Preload);
game.state.add('Game', Game);
game.state.start('Boot');
})();
// ... Далее внутри Boot.js пишем
Boot.protoytpe = {
create: function() {
this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL;
this.scale.pageAlignHorisontally = true; // можно не выравнивать, но я остаил
this.scale.pageAlignVertically = true;
this.scale.forcePortrait = true;
}
};