Blame |
Last modification |
View Log
| RSS feed
unit app_particle_ballsparks;
interface
uses sux_constant, sux_object, app_constant, resource_texture,
resource_list, app_particle_main, app_particle_part;
type
TBallSparks=record
end;
SAPBallSparks=class(SAParticle)
ballsparks: TBallSparks;
procedure addSparks(const pos: SXVertex2D; const angularspeed: SXFloat);
procedure onTimer; override;
procedure initialize; override;
constructor Create(const parent: TObject);
destructor Destroy; override;
end;
implementation
uses main, gl_main, OpenGL;
// --- SAPBallSparks
procedure SAPBallSparks.addSparks(const pos: SXVertex2D; const angularspeed: SXFloat);
var p: SXInt;
part: SAPPart;
partrot: SXFloat;
begin
for p := 0 to 3 do
begin
partrot := sx.math.random.getRandomFloat(0, 360);
part := addParticle(0, pos, partrot, 10);
part.setDensity(0.1);
part.setAnimation(sx.convert.Vertex2DOf(0, 0), angularspeed, 0,
sx.convert.ColorRGBOf(0, 0, 0), -0.05);
part.setAnimationMoveAlongRot(sx.convert.Vertex2DOf(0, 70));
end;
end;
procedure SAPBallSparks.onTimer;
begin
onTimerParts;
end;
procedure SAPBallSparks.initialize;
begin
end;
constructor SAPBallSparks.Create(const parent: TObject);
begin
inherited Create(parent);
setupAppearance(app.scene.board.settings.ballsparks, 1);
setBlending(SX_GL_BLEND_ADDITIVE);
end;
destructor SAPBallSparks.Destroy;
begin
inherited;
end;
end.