Skip to content

Commit 4073db3

Browse files
committed
TileSprite base and renderer
1 parent 0df585f commit 4073db3

9 files changed

Lines changed: 469 additions & 0 deletions

File tree

v3/src/gameobjects/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ require('./layer/LayerFactory');
1313
require('./zone/ZoneFactory');
1414
require('./effectlayer/EffectLayerFactory');
1515
require('./renderpass/RenderPassFactory');
16+
require('./tilesprite/TileSpriteFactory');
1617

1718
// Phaser.GameObjects
1819

@@ -26,6 +27,7 @@ module.exports = {
2627
DynamicBitmapText: require('./bitmaptext/dynamic/DynamicBitmapText'),
2728
Graphics: require('./graphics/Graphics.js'),
2829
Image: require('./image/Image'),
30+
TileSprite: require('./tilesprite/TileSprite'),
2931
Layer: require('./layer/Layer'),
3032
RenderPass: require('./renderpass/RenderPass.js'),
3133
Sprite: require('./sprite/Sprite'),
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
var Class = require('../../utils/Class');
3+
var GameObject = require('../GameObject');
4+
var Components = require('../../components');
5+
var TileSpriteRender = require('./TileSpriteRender');
6+
7+
var TileSprite = new Class({
8+
9+
Extends: GameObject,
10+
11+
Mixins: [
12+
Components.Alpha,
13+
Components.BlendMode,
14+
Components.Flip,
15+
Components.GetBounds,
16+
Components.Origin,
17+
Components.RenderTarget,
18+
Components.ScaleMode,
19+
Components.Size,
20+
Components.Texture,
21+
Components.Transform,
22+
Components.Visible,
23+
TileSpriteRender
24+
],
25+
26+
initialize:
27+
28+
function TileSprite (state, x, y, texture, frame)
29+
{
30+
GameObject.call(this, state, 'TileSprite');
31+
32+
this.tilePositionX = 0;
33+
this.tilePositionY = 0;
34+
35+
this.setTexture(texture, frame);
36+
this.setPosition(x, y);
37+
this.setSizeToFrame();
38+
this.setOrigin();
39+
}
40+
41+
});
42+
43+
module.exports = TileSprite;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
var TileSpriteCanvasRenderer = function (renderer, src, interpolationPercentage, camera)
3+
{
4+
if (this.renderMask !== this.renderFlags)
5+
{
6+
return;
7+
}
8+
};
9+
10+
module.exports = TileSpriteCanvasRenderer;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
var TileSprite = require('./TileSprite');
3+
var FactoryContainer = require('../../gameobjects/FactoryContainer');
4+
5+
var TileSpriteFactory = {
6+
7+
KEY: 'tileSprite',
8+
9+
add: function (x, y, key, frame)
10+
{
11+
return this.children.add(new TileSprite(this.state, x, y, key, frame));
12+
},
13+
14+
make: function (x, y, key, frame)
15+
{
16+
return new TileSprite(this.state, x, y, key, frame);
17+
}
18+
19+
};
20+
21+
module.exports = FactoryContainer.register(TileSpriteFactory);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
3+
renderCanvas: require('./TileSpriteCanvasRenderer'),
4+
renderWebGL: require('./TileSpriteWebGLRenderer')
5+
6+
};
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
var TileSpriteWebGLRenderer = function (renderer, src, interpolationPercentage, camera)
2+
{
3+
if (this.renderMask !== this.renderFlags)
4+
{
5+
return;
6+
}
7+
};
8+
9+
module.exports = TileSpriteWebGLRenderer;

v3/src/renderer/webgl/WebGLRenderer.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var CONST = require('../../const');
99
var BlitterBatch = require('./renderers/blitterbatch/BlitterBatch');
1010
var QuadBatch = require('./renderers/quadbatch/QuadBatch');
1111
var SpriteBatch = require('./renderers/spritebatch/SpriteBatch');
12+
var TileBatch = require('./renderers/tilebatch/TileBatch');
1213
var ShapeBatch = require('./renderers/shapebatch/ShapeBatch');
1314
var EffectRenderer = require('./renderers/effectrenderer/EffectRenderer');
1415
var BlendModes = require('../BlendModes');
@@ -112,6 +113,7 @@ WebGLRenderer.prototype = {
112113
this.spriteBatch = this.addRenderer(new SpriteBatch(this.game, gl, this));
113114
this.shapeBatch = this.addRenderer(new ShapeBatch(this.game, gl, this));
114115
this.effectRenderer = this.addRenderer(new EffectRenderer(this.game, gl, this));
116+
this.tileBatch = this.addRenderer(new TileBatch(this.game, gl, this));
115117
this.setBlendMode(0);
116118
},
117119

0 commit comments

Comments
 (0)