bali33 Posted February 23, 2015 Share Posted February 23, 2015 Hi all thanks for the great work on Phaser . I have a weird issue while using phaser, on a classic way, that I can't reproduce with the examples on phaser.io.Here is my app : http://www.fredericl...lic/resize.html - on chrome under Mac OS- enable the chrome toolbar- enable the viewport rendering- choose iphone device on LANDSCAPE mode - scroll down to the window- that try to resize de window, and you are directly redirect to the top, why ? All my functions create(), init(), preload() are empty.I tried game.scale.scaleMode = Phaser.ScaleManager.NO_SCALE; without any changes. This can explain this strange redirection on a "reel" iphone, sometimes, user are redirected to the top. Please do you have any idea to understand this behaviour ? Many thanks Link to comment Share on other sites More sharing options...
ForgeableSum Posted February 24, 2015 Share Posted February 24, 2015 I see what's happening but why worry about it since you can't resize the browser window on a phone? ptdnet 1 Link to comment Share on other sites More sharing options...
bali33 Posted February 24, 2015 Author Share Posted February 24, 2015 Hi, Actually this behavior happens on phone - I guess it has to do about the address bar which is often automatically hidden on phone browser which seems to be equivalent to a re-size behavior. Whatever is the reason this is happening on all iphone I tested and this is an issue for me. Any idea ? Thank you Link to comment Share on other sites More sharing options...
bali33 Posted February 25, 2015 Author Share Posted February 25, 2015 Hi guys, I did some test and I found out that the bug appears when the scaleMode is set to SHOW_ALL and not when set to RESIZE. Not sure if it's related but the "preload" function must exist or the bug appears in both scaleMode. I really need help on this because this bug is really annoying when I try to run my app on mobile. Thank youvar BasicGame = {};window.onload = function() { var game = new Phaser.Game( 856 , 428 , Phaser.AUTO, 'app_canvas'); game.state.add('Boot', BasicGame.Boot); game.state.start('Boot');};BasicGame.Boot = function (game) { console.log("boot");};BasicGame.Boot.prototype = { init: function () { //this.scale.scaleMode = Phaser.ScaleManager.RESIZE; this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL; }, preload: function () { }}; Link to comment Share on other sites More sharing options...
utkiupe Posted February 25, 2015 Share Posted February 25, 2015 Hi guysWorking on the same project with these tow fellow this is really annoying and will prevent the projet to be approved by our client ! We made games with PIXI before and do not have the same issue with them. To bring you more infos about our investigations I have also tried with other scales modes.The "jump to top" occurs on most of them :EXACT_FIT : jumps to top NO_SCALE : No jump... but we make a responsive game so needs to to rescaleRESIZE : No jump. But if the canvas rescale in width (actually the parent div rescales to 100%) it does not maintain aspect ratio + the content does not scale to fit the viewport... SHOW_ALL : jumps to topUSER_SCALE : jumps to topMore over, I tried to manually change the size. Whatever I tried (such as game.renderer.resize) any change in the scale will make the window jumps to top. Maybe related with that... Link to comment Share on other sites More sharing options...
bali33 Posted February 26, 2015 Author Share Posted February 26, 2015 Sorry to bump this post but I can't find any solution and I need to set-up the scaleMode to SHOW_ALL. Link to comment Share on other sites More sharing options...
rich Posted February 26, 2015 Share Posted February 26, 2015 It will always window.scrollTo unless explicitly told not to:game.scale.compatibility.scrollTo = false;Which needs setting after the game has booted. Alternatively override Phaser.ScaleManager.prototype.scrollTop with an empty function. If you've built a properly responsive game you should be using the RESIZE scale mode and handling all internal scaling yourself. RESIZE will never have an incorrect aspect ratio because it will always be set to 100% width and height of the parent container, it's always 1:1. We made games with PIXI before and do not have the same issue with them. That's because Pixi doesn't do any scaling at all. So you must have written your own code to handle all the scaling yourself - so disable the scale manager in phaser and add in whatever code you had before in Pixi that worked so well. macavalon 1 Link to comment Share on other sites More sharing options...
bali33 Posted February 27, 2015 Author Share Posted February 27, 2015 Hi, First of all thank you for your answer - About using the RESIZE scaleMode we tried to, but when the resize state function is called we tried to manually set the game scale ratio using the game.scale.setUserScale function but it seemed to not work as expected because nothing happened and the game wasn't scaled. Any idea why ? Thx Link to comment Share on other sites More sharing options...
utkiupe Posted February 27, 2015 Share Posted February 27, 2015 thank youWe missed that part in the documentation. I wish I made a search on "scroll" I would have figure out how to solve that! I just want to add that I am not saying pixi is better or whatever. I wanted to mention that the issue we were having was specific to phaser (we would not have changed from pixi to phaser if we were not convinced that Phaser is far more adapted to our game developments) Link to comment Share on other sites More sharing options...
Recommended Posts