Jump to content

Not rotating from sprite origin


Pau
 Share

Recommended Posts

I am making a car racing game. When i rotate  the car, it doesen't rotate well. It is rotating in a weird way. I did set the origin to the 0,0 with following code in order to make it match with the tiled editor origin. But, after that, the rotation is wrong.

player1 = this.physics.add.sprite(500, 500, 'car1').setOrigin(0 , 0)

 

Before start rotating:

rotacion1.png.c2e412317f332cd3a84d0d2b15c3df34.png

After be rotating for a while:

rotacion.png.54d60f77772ce27c16928cb78d248b02.png

I put the game code in the attachment.

Thank you in advance.

cars.zip

Link to comment
Share on other sites

Sorry, i believe that the explanation of my problem wasn't clear. I think that if the car rotates from its top-left corner it will be a wrong behaviour when you are playing. So i want it to rotate from its 0.5,0.5 position. The problem is when i import the position of the elements from tiled editor.

I have prepared this example:
https://pablomonteserin.com/apuntes/web/js/canvas/phaser/ex/coches/cars-foro-phaser/

In the example i have two cars. Both are right positioned in the tiled editor. In the tiled editor, both are just after the whilte line, in its center.

tiled.png.fabc444b300ad5cdd021398fcf091c75.png

But when i import the json generated with tiled to phaser, i must use setOrigin(0,0) to maintain the right location. In my online example, i didn't use setOrigin(0,0) for the second car, so it is wrong positioned:

tiled2.png.18ce2907a5caa14abe54b7a43caf3183.png

But if i change the origin to the 0,0 point, the rotation is not working fine. It is not rotating from its center and i believe it is a wrong behaviour when you are playing.

I did put the game with the tiled editor map in the attachments.

Thank you in advance.

 

cars-foro-phaser.zip

Link to comment
Share on other sites

yeah, rotating things in tiled is a bad idea normally. As it doesn't translate very well. I had the same problem with walls in my map. I had thought i could could copy sections of my map in tiled, and rotate them for faster map making, but in phaser they came out all wrong. Instead of changing your cars origin to 0,0 to get it where you want, you should figure out the offset from it's intended position. 

so for example in your picture above where you didnt change the origin to 0,0 and it's in the wrong place, add half the width and half the height to the x and y positions and it should be where you want it to be.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...