phaser/src/gameobjects/tilesprite/TileSpriteWebGLRenderer.js

37 lines
1.4 KiB
JavaScript
Raw Normal View History

var GameObject = require('../GameObject');
2018-01-25 00:15:51 +00:00
var Utils = require('../../renderer/webgl/Utils');
2018-01-25 00:15:51 +00:00
var TileSpriteWebGLRenderer = function (renderer, tileSprite, interpolationPercentage, camera)
2017-04-25 22:09:13 +00:00
{
2018-01-25 00:15:51 +00:00
if (GameObject.RENDER_MASK !== tileSprite.renderFlags || (tileSprite.cameraFilter > 0 && (tileSprite.cameraFilter & camera._id)))
2017-04-25 22:09:13 +00:00
{
return;
}
2017-07-04 11:36:27 +00:00
2018-01-25 00:15:51 +00:00
tileSprite.updateTileTexture();
2017-07-04 11:36:27 +00:00
2018-01-25 00:15:51 +00:00
var getTint = Utils.getTintAppendFloatAlpha;
2018-01-29 21:46:48 +00:00
this.pipeline.batchTexture(
2018-01-25 00:15:51 +00:00
tileSprite.tileTexture,
tileSprite.frame.width, tileSprite.frame.height,
tileSprite.x, tileSprite.y,
tileSprite.width, tileSprite.height,
tileSprite.scaleX, tileSprite.scaleY,
tileSprite.rotation,
tileSprite.flipX, tileSprite.flipY,
tileSprite.scrollFactorX, tileSprite.scrollFactorY,
tileSprite.originX * tileSprite.width, tileSprite.originY * tileSprite.height,
0, 0, tileSprite.width, tileSprite.height,
getTint(tileSprite._tintTL, tileSprite._alphaTL),
getTint(tileSprite._tintTR, tileSprite._alphaTR),
getTint(tileSprite._tintBL, tileSprite._alphaBL),
getTint(tileSprite._tintBR, tileSprite._alphaBR),
tileSprite.tilePositionX / tileSprite.frame.width,
tileSprite.tilePositionY / tileSprite.frame.height,
camera
);
2017-04-25 22:09:13 +00:00
};
module.exports = TileSpriteWebGLRenderer;