diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 825e48b..585b5c2 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -239,7 +239,8 @@ minY, maxY; - + //TODO - I am SURE this can be optimised, but the below is not accurate enough.. + /* if (b === 0 && c === 0) { // scale may be negative! @@ -262,38 +263,41 @@ } else { - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + */ + + var x1 = a * w1 + c * h1 + tx; + var y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + var x2 = a * w0 + c * h1 + tx; + var y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + var x3 = a * w0 + c * h0 + tx; + var y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + var x4 = a * w1 + c * h0 + tx; + var y4 = d * h0 + b * w1 + ty; - minX = x1; - minX = x2 < minX ? x2 : minX; - minX = x3 < minX ? x3 : minX; - minX = x4 < minX ? x4 : minX; + minX = x1; + minX = x2 < minX ? x2 : minX; + minX = x3 < minX ? x3 : minX; + minX = x4 < minX ? x4 : minX; - minY = y1; - minY = y2 < minY ? y2 : minY; - minY = y3 < minY ? y3 : minY; - minY = y4 < minY ? y4 : minY; + minY = y1; + minY = y2 < minY ? y2 : minY; + minY = y3 < minY ? y3 : minY; + minY = y4 < minY ? y4 : minY; - maxX = x1; - maxX = x2 > maxX ? x2 : maxX; - maxX = x3 > maxX ? x3 : maxX; - maxX = x4 > maxX ? x4 : maxX; + maxX = x1; + maxX = x2 > maxX ? x2 : maxX; + maxX = x3 > maxX ? x3 : maxX; + maxX = x4 > maxX ? x4 : maxX; - maxY = y1; - maxY = y2 > maxY ? y2 : maxY; - maxY = y3 > maxY ? y3 : maxY; - maxY = y4 > maxY ? y4 : maxY; - } + maxY = y1; + maxY = y2 > maxY ? y2 : maxY; + maxY = y3 > maxY ? y3 : maxY; + maxY = y4 > maxY ? y4 : maxY; + + //} // check for children if(this.children.length)