2017-08-15 22:38:35 +00:00
|
|
|
|
|
|
|
var Class = require('../../utils/Class');
|
|
|
|
var Components = require('./Components');
|
|
|
|
var Sprite = require('../../gameobjects/sprite/Sprite');
|
|
|
|
|
|
|
|
var ImpactSprite = new Class({
|
|
|
|
|
|
|
|
Extends: Sprite,
|
|
|
|
|
|
|
|
Mixins: [
|
|
|
|
Components.Acceleration,
|
|
|
|
Components.BodyType,
|
|
|
|
Components.Bounce,
|
|
|
|
Components.CheckAgainst,
|
|
|
|
Components.Collides,
|
2017-08-16 18:31:59 +00:00
|
|
|
Components.Debug,
|
2017-08-15 23:30:12 +00:00
|
|
|
Components.Gravity,
|
2017-08-16 21:10:43 +00:00
|
|
|
Components.Offset,
|
2017-08-17 00:21:01 +00:00
|
|
|
Components.SetGameObject,
|
2017-08-15 22:38:35 +00:00
|
|
|
Components.Velocity
|
|
|
|
],
|
|
|
|
|
|
|
|
initialize:
|
|
|
|
|
2017-08-16 18:31:59 +00:00
|
|
|
// x/y is the center of the Sprite / Body, just like other default Game Objects
|
2017-08-15 22:38:35 +00:00
|
|
|
function ImpactSprite (world, x, y, texture, frame)
|
|
|
|
{
|
|
|
|
Sprite.call(this, world.scene, x, y, texture, frame);
|
|
|
|
|
2017-08-16 18:31:59 +00:00
|
|
|
this.body = world.create(x - this.frame.centerX, y - this.frame.centerY, this.width, this.height);
|
2017-08-15 22:38:35 +00:00
|
|
|
|
|
|
|
this.body.gameObject = this;
|
|
|
|
|
|
|
|
// Local references to the Body properties
|
2017-08-16 16:27:15 +00:00
|
|
|
this.size = this.body.size;
|
2017-08-16 18:31:59 +00:00
|
|
|
this.offset = this.body.offset;
|
2017-08-15 22:38:35 +00:00
|
|
|
this.vel = this.body.vel;
|
|
|
|
this.accel = this.body.accel;
|
|
|
|
this.friction = this.body.friction;
|
|
|
|
this.maxVel = this.body.maxVel;
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports = ImpactSprite;
|