DanielMartinus / Konfetti

Celebrate more with this lightweight confetti particle system 🎊
ISC License
3.13k stars 299 forks source link

Partially visibile confetti are not drawn #330

Open mattprecious opened 2 months ago

mattprecious commented 2 months ago

For a more natural rain effect where the confetti do not suddenly appear in frame, I move the position slightly outside of the view bounds:

Position.Absolute(-50f, -50f).between(Position.Absolute(width + 50f, -50f))
// Or...
Position.Relative(-0.1, -0.1).between(Position.Relative(1.1, -0.1))

This worked in 1.x, but does not with 2.x. The confetti is marking whether it should be drawn based off of whether its location is inside the draw area: https://github.com/DanielMartinus/Konfetti/blob/1a1373f613b8e37ec5cf66d5318529b14f48131a/konfetti/core/src/main/java/nl/dionsegijn/konfetti/core/emitter/Confetti.kt#L135

For confetti that is slightly off screen, this evaluates to false, so the confetti does not draw until it is entirely in frame, which maintains the sudden appearance that I'm trying to avoid.

I assume the fix here is to incorporate width into the bounds check, but wanted to open this issue before attempting to fix myself.