func (f *Field) flushingColor() ebiten.ColorM { c := f.flushCount if c < 0 { c = 0 } rate := float64(c) / maxFlushCount clr := ebiten.ColorM{} alpha := min(1, rate*2) clr.Scale(1, 1, 1, alpha) r := min(1, (1-rate)*2) clr.Translate(r, 0, 0, 0) return clr }