mirror of
https://github.com/photonstorm/phaser
synced 2024-12-24 20:13:35 +00:00
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
/// <reference path="../../_definitions.ts" />
|
|
|
|
module Phaser.Particles.Initializers {
|
|
|
|
export class Velocity extends Initialize {
|
|
|
|
constructor(rpan, thapan, type) {
|
|
super();
|
|
|
|
this.rPan = ParticleUtils.setSpanValue(rpan);
|
|
this.thaPan = ParticleUtils.setSpanValue(thapan);
|
|
this.type = ParticleUtils.initValue(type, 'vector');
|
|
}
|
|
|
|
rPan: Phaser.Particles.Span;
|
|
thaPan: Phaser.Particles.Span;
|
|
type;
|
|
|
|
reset(rpan, thapan, type) {
|
|
this.rPan = ParticleUtils.setSpanValue(rpan);
|
|
this.thaPan = ParticleUtils.setSpanValue(thapan);
|
|
this.type = ParticleUtils.initValue(type, 'vector');
|
|
}
|
|
|
|
normalizeVelocity(vr) {
|
|
return vr * ParticleManager.MEASURE;
|
|
}
|
|
|
|
initialize(target) {
|
|
|
|
if (this.type == 'p' || this.type == 'P' || this.type == 'polar')
|
|
{
|
|
var polar2d = new Polar2D(this.normalizeVelocity(this.rPan.getValue()), this.thaPan.getValue() * Math.PI / 180);
|
|
target.v.x = polar2d.getX();
|
|
target.v.y = polar2d.getY();
|
|
}
|
|
else
|
|
{
|
|
target.v.x = this.normalizeVelocity(this.rPan.getValue());
|
|
target.v.y = this.normalizeVelocity(this.thaPan.getValue());
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|