Open andrewipark opened 5 years ago
Perhaps something similar to https://github.com/quietly-turning/Simply-Love-SM5/blob/beta/BGAnimations/ScreenGameplay%20underlay/PerPlayer/SubtractiveScoring.lua#L58-L61 might work.
That is:
horizalign(right)
the MeasureCounter BitmapTextvisible(false)
settext()
to the last string the bmt will be.
local w = self:GetWidth() * self:GetZoom()
of the bmt while set to this textx()
of bmt to GetNotefieldX()*0.5 + w*0.5
settext()
back to an empty stringvisible(true)
Repeat this^ for each new stream. Rest counts can simply be center-aligned.
In my head, this should work in base10 systems (which the MeasureCounter uses) given the way most fonts display Arabic numerals (which the MeasureCounter uses).
I think.
This does assume that the MeasureCounter will always have its greatest pixel width at the final measure of stream, so it's inelegant at best, and might not work provided certain, unusual glyphs.
Thanks for telling me about self:GetWidth()
and this brainstorm. I believe I can work off of that and create a slightly more elegant solution with only one actor.
The question of "when?" is its own story.
The question of "when?" is its own story.
As a great themer of a bygone era once wrote via inline comment:
-- We await your return, warrior!
During stream, align the measure counter to the slash, so that the numbers do not move horizontally as the player goes through the stream.
During break, just align the measure counter to the center.
The naive solution would require using 3 bitmap text actors instead of one. It is theoretically possible to use one, but that would require an inelegant fix, and is also prone to font issues.