32 lines
989 B
JavaScript
32 lines
989 B
JavaScript
'use strict';
|
|
|
|
var Matrix = require('../../../maths/matrix/Matrix.js');
|
|
var applyMatrix = require('./applyMatrix.js');
|
|
|
|
"use strict";
|
|
function setUvs(tilingSprite, uvs) {
|
|
const texture = tilingSprite.texture;
|
|
const width = texture.frame.width;
|
|
const height = texture.frame.height;
|
|
let anchorX = 0;
|
|
let anchorY = 0;
|
|
if (tilingSprite._applyAnchorToTexture) {
|
|
anchorX = tilingSprite.anchor.x;
|
|
anchorY = tilingSprite.anchor.y;
|
|
}
|
|
uvs[0] = uvs[6] = -anchorX;
|
|
uvs[2] = uvs[4] = 1 - anchorX;
|
|
uvs[1] = uvs[3] = -anchorY;
|
|
uvs[5] = uvs[7] = 1 - anchorY;
|
|
const textureMatrix = Matrix.Matrix.shared;
|
|
textureMatrix.copyFrom(tilingSprite._tileTransform.matrix);
|
|
textureMatrix.tx /= tilingSprite.width;
|
|
textureMatrix.ty /= tilingSprite.height;
|
|
textureMatrix.invert();
|
|
textureMatrix.scale(tilingSprite.width / width, tilingSprite.height / height);
|
|
applyMatrix.applyMatrix(uvs, 2, 0, textureMatrix);
|
|
}
|
|
|
|
exports.setUvs = setUvs;
|
|
//# sourceMappingURL=setUvs.js.map
|