terebentina Posted January 13, 2014 Share Posted January 13, 2014 Hi, I am totally new to Phaser so this might be a silly question. I have the following code, mostly copy&pasted from one of the examples. I made the world taller than the actual canvas height. When I add the 'dude' player to the game, it's added somewhere above the screen, instead of where it should be:game.add.sprite(game.world.centerX, game.world.height - 10, 'dude');The player is horizontally centered, as it should but somewhere out of the screen. If you run the code below, the player will fall and fall from somewhere off screen above and it will eventually appear after 1-2 seconds of falling. What am I doing wrong?var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create});function preload() { game.load.spritesheet('dude', 'assets/img/dude.png', 32, 48);}function create() { // Make the world larger than the actual canvas game.world.setBounds(0, 0, 800, 2000); game.stage.backgroundColor = '#169AC5'; game.camera.y = game.world.height - 150; var player = game.add.sprite(game.world.centerX, game.world.height - 10, 'dude'); player.anchor.setTo(0.5, 0.5); // Player physics properties. Give the little guy a slight bounce. player.body.bounce.y = 0.2; player.body.gravity.y = 6; player.body.collideWorldBounds = true;} Link to comment Share on other sites More sharing options...
terebentina Posted January 14, 2014 Author Share Posted January 14, 2014 Anybody? Hints? I cannot believe nobody hit this problem before...I am pretty much stuck and no amount of googling around helped. I don't understand why the player is off screen when I said I wanted it to be just above ground (game.world.height - 10). Link to comment Share on other sites More sharing options...
jpdev Posted January 14, 2014 Share Posted January 14, 2014 Hi, I have tested your code, and can confirm, there is something very weird going on. I think you have found a bug. As far as I can tell the player sprite is placed correctly initially, but then moved by something in the engine. Using parts of your code, removing the movement aspect.. I have found weird behavior too: Here is my (easier to see) test, that shows something is weird, when you use collideWorldBounds AND move the camera (even if you move it from y=0 to y=0!). If somebody wants to debug what is happening here, here is my code showing the (possible the same) bug: Or (look at it here):http://janpeter.net/alien/test.html http://janpeter.net/alien/test_nobug.html The ONLY difference is the comments before the line "game.camera.y = 0;" - no other difference.(So what are the sprites doing?) Code and Screenshots follow: <!doctype html><html> <head> <meta charset="UTF-8" /><title> bug </tile> <script src="phaser.js"></script> </head> <body> <script type="text/javascript"> var game = new Phaser.Game(1024, 768, Phaser.CANVAS, '', { preload: preload, create: create, update: update, render: render}); function preload() {game.load.spritesheet('dude', 'data/cloud1.png', 32, 48);} function update() { } var s1, s2, s3; function create() {game.world.setBounds(0, 0, 800, 800); s1 = game.add.sprite(110, 550, 'dude');s2 = game.add.sprite(220, 560, 'dude');s3 = game.add.sprite(330, 570, 'dude'); s1.body.collideWorldBounds = true;s2.body.collideWorldBounds = true;s3.body.collideWorldBounds = true; game.camera.y = 0; } function render() { game.debug.renderSpriteInfo(s1, 32, 032);game.debug.renderSpriteInfo(s2, 32, 232);game.debug.renderSpriteInfo(s3, 32, 432);game.debug.renderCameraInfo(game.camera, 32, 632); } </script> <div id="info"> </div> </body></html> Run this, look at where the sprites are (compared to where they should be..) .. then uncomment game.camera.y = 0 .. and look where the sprites are now.Unexplainable to me (okay, I have not debugged it yet..) I am using crome. here are my results: with cam-line: without cam-line: Link to comment Share on other sites More sharing options...
Pixelguy Posted January 14, 2014 Share Posted January 14, 2014 I gave it a shot yesterday but I don't have enough knowledge about the engine to indicate what's going on.To me it seemed as if the game had a problem putting the player outside of the the actual word size (800, 600). As soon as it's y coordinate gets >600 during creation it gets created at y=600. I really just messed around setting the bounds to (0, 0, 800, 650);But I could not figure out what's going on :/ Link to comment Share on other sites More sharing options...
jpdev Posted January 14, 2014 Share Posted January 14, 2014 For now I can only say: It works if you don't don't move camera, OR if you don't set collideWorldBounds.But I could not figure out the why and how. Link to comment Share on other sites More sharing options...
terebentina Posted January 14, 2014 Author Share Posted January 14, 2014 Good to know I am not crazy. I will try to not move the camera until someone figures out the problem...who knows, with a little experience it might be me Should I report this as a bug in github or are the devs looking at this forum too? Link to comment Share on other sites More sharing options...
Mike Posted January 14, 2014 Share Posted January 14, 2014 Should I report this as a bug in github or are the devs looking at this forum too? Yep they look, but from experience I know that's cool to make a github issue since they can mark it as fixed later. Arlefreak 1 Link to comment Share on other sites More sharing options...
Arlefreak Posted January 14, 2014 Share Posted January 14, 2014 Good to know I am not crazy. I will try to not move the camera until someone figures out the problem...who knows, with a little experience it might be me Should I report this as a bug in github or are the devs looking at this forum too?The dev's comment on this forum constantly, but you should add the issue over github any way Mike 1 Link to comment Share on other sites More sharing options...
terebentina Posted January 15, 2014 Author Share Posted January 15, 2014 Ok, this is the github issue, in case you want to follow the story: https://github.com/photonstorm/phaser/issues/311 Link to comment Share on other sites More sharing options...
Recommended Posts