Blame |
Last modification |
View Log
| RSS feed
unit app_particle_powerupappears;
interface
uses sux_constant, sux_object, app_constant, resource_texture,
resource_list, app_particle_main, app_particle_part;
type
TPowerUp=record
end;
SAPPowerUpAppears=class(SAParticle)
powerup: TPowerUp;
procedure createBubbles(const pos: SXVertex2D);
procedure onTimer; override;
procedure initialize; override;
constructor Create(const parent: TObject);
destructor Destroy; override;
end;
implementation
uses main, gl_main, OpenGL;
// --- SAPPowerUpAppears
procedure SAPPowerUpAppears.createBubbles(const pos: SXVertex2D);
var p: SXInt;
part: SAPPart;
partpos: SXVertex2D;
partmove: SXVertex2D;
begin
for p := 0 to 25 do
begin
partpos.x := pos.x + sx.math.random.getRandomFloat(-10, 10);
partpos.y := pos.y + sx.math.random.getRandomFloat(-10, 10);
part := addParticle(0, partpos, 180, sx.math.random.getRandomFloat(8, 15));
part.setDensity(1.0);
partmove.x := sx.math.random.getRandomFloat(-1, 1);
partmove.y := sx.math.random.getRandomFloat(-1, 1);
partmove := sx.math.multiplyVertex(partmove, sx.math.random.getRandomFloat(30, 60));
part.setAnimation(partmove, 0, -10, sx.convert.ColorRGBOf(0, 0, 0), 0);
end;
end;
procedure SAPPowerUpAppears.onTimer;
begin
onTimerParts;
deleteIfEmpty;
end;
procedure SAPPowerUpAppears.initialize;
begin
end;
constructor SAPPowerUpAppears.Create(const parent: TObject);
begin
inherited Create(parent);
setupAppearance(app.scene.board.settings.icon, 1);
setBlending(SX_GL_BLEND_ADDITIVE);
end;
destructor SAPPowerUpAppears.Destroy;
begin
inherited;
end;
end.