mirror of
https://github.com/photonstorm/phaser
synced 2024-11-23 13:13:43 +00:00
Layer refactoring
This commit is contained in:
parent
657ea7ffa7
commit
69a34df0ab
3 changed files with 149 additions and 1 deletions
|
@ -9,6 +9,7 @@ require('./bitmaptext/static/BitmapTextFactory');
|
|||
require('./bitmaptext/dynamic/DynamicBitmapTextFactory');
|
||||
require('./graphics/GraphicsFactory');
|
||||
require('./text/static/TextFactory');
|
||||
require('./layer/LayerFactory');
|
||||
|
||||
// Phaser.GameObjects
|
||||
|
||||
|
@ -23,6 +24,7 @@ module.exports = {
|
|||
Graphics: require('./graphics/Graphics.js'),
|
||||
Image: require('./image/Image'),
|
||||
Sprite: require('./sprite/Sprite'),
|
||||
Text: require('./text/static/Text')
|
||||
Text: require('./text/static/Text'),
|
||||
Layer: require('./layer/Layer')
|
||||
|
||||
};
|
||||
|
|
122
v3/src/gameobjects/layer/Layer.js
Normal file
122
v3/src/gameobjects/layer/Layer.js
Normal file
|
@ -0,0 +1,122 @@
|
|||
|
||||
var Class = require('../../utils/Class');
|
||||
|
||||
var Layer = new Class({
|
||||
|
||||
initialize:
|
||||
|
||||
function Layer()
|
||||
{
|
||||
this.children = [];
|
||||
Array.prototype.push.apply(this.children, arguments);
|
||||
},
|
||||
|
||||
add: function (child)
|
||||
{
|
||||
var children = this.children;
|
||||
var index = children.indexOf(child);
|
||||
|
||||
if (index < 0)
|
||||
{
|
||||
children.push(child);
|
||||
}
|
||||
},
|
||||
|
||||
addArray: function (childrenArray)
|
||||
{
|
||||
var length = childrenArray.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
this.add(childrenArray[index]);
|
||||
}
|
||||
},
|
||||
|
||||
addX: function (value) {
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].x += value;
|
||||
}
|
||||
},
|
||||
|
||||
addY: function (value)
|
||||
{
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].y += value;
|
||||
}
|
||||
},
|
||||
|
||||
addPosition: function (x, y)
|
||||
{
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].x += x;
|
||||
children[index].y += y;
|
||||
}
|
||||
},
|
||||
|
||||
rotate: function (value) {
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].rotation += value;
|
||||
}
|
||||
},
|
||||
|
||||
setX: function (value) {
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].x = value;
|
||||
}
|
||||
},
|
||||
|
||||
setY: function (value)
|
||||
{
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].y = value;
|
||||
}
|
||||
},
|
||||
|
||||
setRotation: function (value) {
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].rotation = value;
|
||||
}
|
||||
},
|
||||
|
||||
setVisible: function (value) {
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].visible = value;
|
||||
}
|
||||
},
|
||||
|
||||
toggleVisible: function ()
|
||||
{
|
||||
var children = this.children;
|
||||
var length = children.length;
|
||||
for (var index = 0; index < length; ++index)
|
||||
{
|
||||
children[index].visible = !children[index].visible;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
module.exports = Layer;
|
24
v3/src/gameobjects/layer/LayerFactory.js
Normal file
24
v3/src/gameobjects/layer/LayerFactory.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
var Layer = require('./Layer');
|
||||
var FactoryContainer = require('../../gameobjects/FactoryContainer');
|
||||
|
||||
var LayerFactory = {
|
||||
|
||||
KEY: 'layer',
|
||||
|
||||
add: function ()
|
||||
{
|
||||
var layer = new Layer();
|
||||
layer.addArray(Array.prototype.slice.apply(arguments));
|
||||
return layer;
|
||||
},
|
||||
|
||||
make: function ()
|
||||
{
|
||||
var layer = new Layer();
|
||||
layer.addArray(Array.prototype.slice.apply(arguments));
|
||||
return layer;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
module.exports = FactoryContainer.register(LayerFactory);
|
Loading…
Reference in a new issue