c# - The draw rectangle is not in the same place as the texture -


this resulting in collisions other objects , not working correctly,

i feel may have how rotating sprite player, below code using rotation

#region draw player          if (player.facing == 4)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 1.5708f, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);          else if (player.facing == 3)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 4.712389f, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);          else if (player.facing == 1)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 0, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);          else if (player.facing == 2)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 3.14593f, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);          else if (player.facing == 5)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 0.785398163f, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);          else if (player.facing == 6)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 2.094395102f, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);         else if (player.facing == 7)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 3.839724354f, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);         else if (player.facing == 8)              spritebatch.draw(player.txr, player.drawrect, null, color.white, 5.497787144f, new vector2(player.drawrect.width / 2, player.drawrect.height / 2), spriteeffects.none, 0);         #region debug         //spritebatch.draw(door.txr, player.drawrect, color.white);         //spritebatch.draw(door.txr, player1.drawrect, color.white);         //spritebatch.draw(door.txr, player2.drawrect, color.white);         //spritebatch.draw(door.txr, player3.drawrect, color.white);         #endregion 

drawing sprite batch render sprite in rotation. collision box have player , how handle separate issue. have transform player collision box same rotation drawing.


Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -