Container Canvas Rendering function

This commit is contained in:
Felipe Alfonso 2018-04-04 12:22:10 -03:00
parent bea7ca36ad
commit 5026566084
2 changed files with 22 additions and 8 deletions

View file

@ -73,13 +73,7 @@ var Container = new Class({
tempMatrix.transformPoint(pointSrc.x, pointSrc.y, pointDst);
return pointDst;
},
hasPoint: function (gameObject, point)
{
return false;
}
});
module.exports = Container;

View file

@ -1,12 +1,32 @@
var GameObject = require('../GameObject');
var ContainerCanvasRenderer = function (renderer, src, interpolationPercentage, camera)
var ContainerCanvasRenderer = function (renderer, container, interpolationPercentage, camera, parentMatrix)
{
if (GameObject.RENDER_MASK !== src.renderFlags || (src.cameraFilter > 0 && (src.cameraFilter & camera._id)))
if (GameObject.RENDER_MASK !== container.renderFlags || (container.cameraFilter > 0 && (container.cameraFilter & camera._id)))
{
return;
}
var children = container.children;
var transformMatrix = container.localTransform;
if (parentMatrix === undefined)
{
transformMatrix.applyITRS(container.x, container.y, container.rotation, container.scaleX, container.scaleY);
}
else
{
transformMatrix.loadIdentity();
transformMatrix.multiply(parentMatrix);
transformMatrix.translate(container.x, container.y);
transformMatrix.rotate(container.rotation);
transformMatrix.scale(container.scaleX, container.scaleY);
}
for (var index = 0; index < children.length; ++index)
{
children[index].renderCanvas(renderer, children[index], interpolationPercentage, camera, transformMatrix);
}
};
module.exports = ContainerCanvasRenderer;