1
\$\begingroup\$

For some reason I am having the issue where the following code:

 global.spriteBatch.Draw(obj.sprite, obj.getPosition(), null, Color.White, obj.rotation, obj.center, 2f, SpriteEffects.None, 1);

causes the object to rotate around the origin in such a way, as though there is an offset to the position relative to its location. The calculation for the center it correct and this happens even if I set the pivot to be the location of the object. The further I get from 0:0 the larger the radius or rotation. I am not sure what is going on here because given the following tutorial

http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Rotation.php

I have done the code setup correctly. Any ideas? Any help is greatly appreciated!!!

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

This was a bit of stupid mistake. I assumed the the origin was relative to the world when its not. The origin is the offset to the object. To get the offset, you can simply do the following:

obj.center - obj.getPosition

for the origin and it will give you your offset for your center.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .