Skip to content

Commit

Permalink
refactor(particles): improve particles design and style
Browse files Browse the repository at this point in the history
  • Loading branch information
Mathieu Hermann committed Nov 16, 2024
1 parent 4637d85 commit 91b95d0
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
30 changes: 19 additions & 11 deletions src/app/game/actors/skier.ts
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,9 @@ export class Skier extends Actor {
private emitSlidingParticles(speedPercentage: number, slidingIntensity: number, skierAction: SkierActions): void {
this.particlesEmitter.pos.y = 2.5;
this.particlesEmitter.radius = 6;
this.particlesEmitter.particleLife = 1500;
this.particlesEmitter.particleLife = 2500;
this.particlesEmitter.minVel = 0;
this.particlesEmitter.maxVel = 50;
if (skierAction === SkierActions.SLIDE_LEFT) {
this.particlesEmitter.maxAngle = 1.6;
this.particlesEmitter.minAngle = 0.5;
Expand All @@ -235,37 +237,43 @@ export class Skier extends Actor {
this.particlesEmitter.minAngle = 1.6;
this.particlesEmitter.pos.x = -8;
}
this.particlesEmitter.emitParticles(speedPercentage * slidingIntensity * 35);
this.particlesEmitter.emitParticles(speedPercentage * slidingIntensity * 60);
}

private emitCarvingParticles(speedPercentage: number, carvingIntensity: number, skierAction: SkierActions): void {
this.particlesEmitter.pos.y = 2.5;
this.particlesEmitter.pos.y = -1;
this.particlesEmitter.radius = 1;
this.particlesEmitter.particleLife = 450;
this.particlesEmitter.maxAngle = 4.8;
this.particlesEmitter.minAngle = 4.6;
this.particlesEmitter.particleLife = 2500;
this.particlesEmitter.minVel = -5;
this.particlesEmitter.maxVel = 5;
this.particlesEmitter.maxAngle = 1;
this.particlesEmitter.minAngle = 1;
this.particlesEmitter.pos.x = skierAction === SkierActions.CARVE_LEFT ? 8 : -8;
this.particlesEmitter.emitParticles(speedPercentage * carvingIntensity * 25);
this.particlesEmitter.emitParticles(speedPercentage * carvingIntensity * 15);
}

private emitBrakingParticles(speedPercentage: number): void {
this.particlesEmitter.pos.y = -10;
this.particlesEmitter.radius = 6;
this.particlesEmitter.particleLife = 1500;
this.particlesEmitter.particleLife = 2500;
this.particlesEmitter.minVel = 10;
this.particlesEmitter.maxVel = 50;
this.particlesEmitter.maxAngle = 6;
this.particlesEmitter.minAngle = 3.4;
this.particlesEmitter.pos.x = 0;
this.particlesEmitter.emitParticles(speedPercentage * 25);
this.particlesEmitter.emitParticles(speedPercentage * 40);
}

private emitRidingParticles(speedPercentage: number): void {
this.particlesEmitter.pos.y = 0;
this.particlesEmitter.radius = 3;
this.particlesEmitter.radius = 8;
this.particlesEmitter.particleLife = 500;
this.particlesEmitter.minVel = 0;
this.particlesEmitter.maxVel = 0;
this.particlesEmitter.maxAngle = 6;
this.particlesEmitter.minAngle = 3.4;
this.particlesEmitter.pos.x = 0;
this.particlesEmitter.emitParticles(speedPercentage * 10);
this.particlesEmitter.emitParticles(speedPercentage * 2);
}

private hasBreakingIntention(engine: Engine): boolean {
Expand Down
2 changes: 1 addition & 1 deletion src/app/game/utils/particles-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export class ParticlesBuilder {
particleLife: 1200,
maxSize: 4,
minSize: 0.75,
beginColor: Color.ExcaliburBlue,
beginColor: Color.fromRGB(23, 106, 170, 0.1),
isEmitting: false
});
return emitter;
Expand Down

0 comments on commit 91b95d0

Please sign in to comment.