|
@@ -458,8 +458,9 @@ THREE.CanvasRenderer = function ( parameters ) {
|
|
var scaleX = element.scale.x * _canvasWidthHalf;
|
|
var scaleX = element.scale.x * _canvasWidthHalf;
|
|
var scaleY = element.scale.y * _canvasHeightHalf;
|
|
var scaleY = element.scale.y * _canvasHeightHalf;
|
|
|
|
|
|
- _elemBox.min.set( v1.x - ( scaleX * 0.5 ), v1.y - ( scaleY * 0.5 ) );
|
|
|
|
- _elemBox.max.set( v1.x + ( scaleX * 0.5 ), v1.y + ( scaleY * 0.5 ) );
|
|
|
|
|
|
+ var dist = 0.5 * Math.sqrt( scaleX * scaleX + scaleY * scaleY ); // allow for rotated sprite
|
|
|
|
+ _elemBox.min.set( v1.x - dist, v1.y - dist );
|
|
|
|
+ _elemBox.max.set( v1.x + dist, v1.y + dist );
|
|
|
|
|
|
if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
|
|
if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
|
|
|
|
|
|
@@ -477,7 +478,7 @@ THREE.CanvasRenderer = function ( parameters ) {
|
|
|
|
|
|
_context.save();
|
|
_context.save();
|
|
_context.translate( v1.x, v1.y );
|
|
_context.translate( v1.x, v1.y );
|
|
- _context.rotate( - material.rotation );
|
|
|
|
|
|
+ _context.rotate( material.rotation );
|
|
_context.scale( scaleX, - scaleY );
|
|
_context.scale( scaleX, - scaleY );
|
|
|
|
|
|
_context.drawImage( bitmap, 0, 0, bitmap.width, bitmap.height, - 0.5, - 0.5, 1, 1 );
|
|
_context.drawImage( bitmap, 0, 0, bitmap.width, bitmap.height, - 0.5, - 0.5, 1, 1 );
|
|
@@ -489,8 +490,8 @@ THREE.CanvasRenderer = function ( parameters ) {
|
|
|
|
|
|
_context.save();
|
|
_context.save();
|
|
_context.translate( v1.x, v1.y );
|
|
_context.translate( v1.x, v1.y );
|
|
- _context.rotate( - element.rotation );
|
|
|
|
- _context.scale( scaleX, scaleY );
|
|
|
|
|
|
+ _context.rotate( material.rotation );
|
|
|
|
+ _context.scale( scaleX, - scaleY );
|
|
_context.fillRect( - 0.5, - 0.5, 1, 1 );
|
|
_context.fillRect( - 0.5, - 0.5, 1, 1 );
|
|
_context.restore();
|
|
_context.restore();
|
|
|
|
|