Biggerplay Posted February 14, 2014 Share Posted February 14, 2014 I've created a game with Phaser, and it works completely fine except for one strange problem, and that's on mobile when the device is oriented to portrait, the game stops working, if you try to load the game when in portrait mode you just see the preloading screen and the loading bar but it doesn't load, rotating the screen around allows it to load, but if you rotate it back to portrait it again stops working and nothing happens when you tap the screen, it's like the game becomes paused. How can I make it so that either it works in both portrait and landscape, or show some kind of msg so people know to rotate the screen to landscape? I'm using these settings in the boot.js file this.game.stage.scaleMode = Phaser.StageScaleMode.SHOW_ALL; this.game.stage.scale.minWidth = 480; this.game.stage.scale.minHeight = 260; this.game.stage.scale.maxWidth = 1024; this.game.stage.scale.maxHeight = 768; this.game.stage.scale.forceLandscape = true; this.game.stage.scale.pageAlignHorizontally = true; this.game.stage.scale.setScreenSize(true); Link to comment Share on other sites More sharing options...
BunBunBun Posted February 14, 2014 Share Posted February 14, 2014 look \resources\Project Templates\Full Screen Mobile example it works fine. Link to comment Share on other sites More sharing options...
Biggerplay Posted February 14, 2014 Author Share Posted February 14, 2014 look \resources\Project Templates\Full Screen Mobile example it works fine.Just noticed this in boot.js of the full screen mobile examplethis.game.stage.scaleMode = Phaser.StageScaleMode.SHOW_ALL; this.game.stage.scale.minWidth = 480; this.game.stage.scale.minHeight = 260; this.game.stage.scale.maxWidth = 1024; this.game.stage.scale.maxHeight = 768; this.game.stage.scale.pageAlignHorizontally = true; this.game.stage.scale.pageAlignVertically = true; this.game.stage.scale.forceOrientation(true, false); this.game.stage.scale.hasResized.add(this.gameResized, this); this.game.stage.scale.enterIncorrectOrientation.add(this.enterIncorrectOrientation, this); this.game.stage.scale.leaveIncorrectOrientation.add(this.leaveIncorrectOrientation, this); this.game.stage.scale.setScreenSize(true);Is that just for 1.1.4? or is that only for 1.1.5? and if it's 1.1.5 how do I upgrade to using that? *Edit* I've just implemented the new code in the boot.js example file and now my game's not working at all, just a black screen, so does that mean that above code is for 1.1.5? Link to comment Share on other sites More sharing options...
rich Posted February 14, 2014 Share Posted February 14, 2014 No the above has worked for a while now. If you can see a black screen I would guess you've got some css / div arrangement that's hiding it. Remove the "pageAlign" lines and try again - and double-check your own local CSS too to see that it's not just shifting the game off screen. Link to comment Share on other sites More sharing options...
Biggerplay Posted February 14, 2014 Author Share Posted February 14, 2014 The black screen issue has gone, but I've still got original issue, which is when the game is portrait mode it seems paused? how can I have it so that it runs fine in both modes (landscape and portrait) or it that's not possible have it so that a msg appears telling people to rotate the screen to landscape? Ok I found if I remove this line this.game.stage.scale.forceOrientation(true, false); Then the game doesn't pause anymore in portrait mode, but now the game screen is bigger than the browser window! *EDIT* I've fixed the problem, but I don't know how hacky it is or not, basically I did this this.game.stage.scale.forceOrientation(true, true); And that allows it work fine in portrait and landscape, but if that's not doing it right, I'll be happy to know the correct solution. (just leaving that line out means the game screen overlaps the browser window which is not what I need). Link to comment Share on other sites More sharing options...
Recommended Posts