mirror of
https://github.com/AlexMacocian/MonoGame.Extended.git
synced 2026-07-25 08:22:15 +00:00
Scale Particles without Maintaining Aspect Ratio (#483)
* Update ParticleReleaseParameters.cs Add parameters to allow scaling particles without maintaining aspect ratio * Update ParticleEmitter.cs Scale particles without maintaining aspect ratio.
This commit is contained in:
committed by
Dylan Wilson
parent
4c34ff9705
commit
cadaed7fea
@@ -196,8 +196,17 @@ namespace MonoGame.Extended.Particles
|
||||
_random.NextColor(out particle->Color, Parameters.Color);
|
||||
|
||||
particle->Opacity = _random.NextSingle(Parameters.Opacity);
|
||||
var scale = _random.NextSingle(Parameters.Scale);
|
||||
particle->Scale = new Vector2(scale, scale);
|
||||
|
||||
if(Parameters.MaintainAspectRatioOnScale)
|
||||
{
|
||||
var scale = _random.NextSingle(Parameters.Scale);
|
||||
particle->Scale = new Vector2(scale, scale);
|
||||
}
|
||||
else
|
||||
{
|
||||
particle->Scale = new Vector2(_random.NextSingle(Parameters.ScaleX), _random.NextSingle(Parameters.ScaleY));
|
||||
}
|
||||
|
||||
particle->Rotation = _random.NextSingle(Parameters.Rotation);
|
||||
particle->Mass = _random.NextSingle(Parameters.Mass);
|
||||
particle->LayerDepth = layerDepth;
|
||||
@@ -209,4 +218,4 @@ namespace MonoGame.Extended.Particles
|
||||
return Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,9 @@ namespace MonoGame.Extended.Particles
|
||||
Scale = new Range<float>(1f, 1f);
|
||||
Rotation = new Range<float>(-MathHelper.Pi, MathHelper.Pi);
|
||||
Mass = 1f;
|
||||
MaintainAspectRatioOnScale = true;
|
||||
ScaleX = new Range<float>(1f, 1f);
|
||||
ScaleY = new Range<float>(1f, 1f);
|
||||
}
|
||||
|
||||
public Range<int> Quantity { get; set; }
|
||||
@@ -23,5 +26,9 @@ namespace MonoGame.Extended.Particles
|
||||
public Range<float> Scale { get; set; }
|
||||
public Range<float> Rotation { get; set; }
|
||||
public Range<float> Mass { get; set; }
|
||||
public bool MaintainAspectRatioOnScale { get; set; }
|
||||
public Range<float> ScaleX { get; set; }
|
||||
public Range<float> ScaleY { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user