Fixed sprites getting stuck
This commit is contained in:
parent
7703128749
commit
f50a346e22
1 changed files with 6 additions and 6 deletions
|
@ -29,11 +29,6 @@ void MaskedSprite::preRenderUpdate()
|
|||
return;
|
||||
}
|
||||
|
||||
if (previousAngle == angle && previousRenderPosition == renderPosition)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (angle == 0)
|
||||
{
|
||||
renderPosition = coordinates->isometric().toScreen();
|
||||
|
@ -45,6 +40,11 @@ void MaskedSprite::preRenderUpdate()
|
|||
sprite->setPosition(renderPosition);
|
||||
sprite->setRotation(angle);
|
||||
|
||||
if (previousAngle == angle && previousRenderPosition == renderPosition)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
updateFreshMaskedSprite();
|
||||
|
||||
previousAngle = angle;
|
||||
|
@ -78,7 +78,7 @@ void MaskedSprite::updateFreshMaskedSprite()
|
|||
coordinatesTopLeftCorner.diagonalWorld().vertical);
|
||||
auto xAxis = rotateVectorByAngle(sf::Vector2f(1, 0), angle);
|
||||
auto yAxis = rotateVectorByAngle(sf::Vector2f(0, -1), angle);
|
||||
float xFactorPerPixel = sprite->getScale().x / WORLD_TO_ISO_SCALE;
|
||||
float xFactorPerPixel = sprite->getScale().x / WORLD_TO_ISO_SCALE * sqrt(2);
|
||||
float yFactorPerPixel = sprite->getScale().y / WORLD_TO_ISO_SCALE;
|
||||
for (int yOffset = 0; yOffset < textureRect.height; yOffset++)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue