var SetTransform = function (renderer, ctx, src, camera, parentMatrix){ var alpha = camera.alpha * src.alpha; if (alpha <= 0) { return false ; } var camMatrix = renderer._tempMatrix1.copyFromArray(camera.matrix.matrix); var gameObjectMatrix = renderer._tempMatrix2.applyITRS(src.x, src.y, src.rotation, src.scaleX, src.scaleY); var calcMatrix = renderer._tempMatrix3; if (parentMatrix) { camMatrix.multiplyWithOffset(parentMatrix, - camera.scrollX * src.scrollFactorX, - camera.scrollY * src.scrollFactorY); gameObjectMatrix.e = src.x; gameObjectMatrix.f = src.y; camMatrix.multiply(gameObjectMatrix, calcMatrix); } else { gameObjectMatrix.e -= camera.scrollX * src.scrollFactorX; gameObjectMatrix.f -= camera.scrollY * src.scrollFactorY; camMatrix.multiply(gameObjectMatrix, calcMatrix); } ctx.globalCompositeOperation = renderer.blendModes[src.blendMode]; ctx.globalAlpha = alpha; ctx.save(); calcMatrix.setToContext(ctx); return true ; } ; module.exports = SetTransform;