This commit is contained in:
2025-11-19 09:20:06 -07:00
parent 8eb5909919
commit 1098e383ce
2 changed files with 33 additions and 8 deletions

View File

@@ -13,8 +13,26 @@ import (
var (
basicFace = text.NewGoXFace(basicfont.Face7x13)
basicFaceAscent = basicFace.Metrics().HAscent
overlayImage *ebiten.Image
overlaySize struct {
width int
height int
}
)
func getOverlayImage(width, height int) *ebiten.Image {
if width <= 0 || height <= 0 {
return nil
}
if overlayImage == nil || overlaySize.width != width || overlaySize.height != height {
overlayImage = ebiten.NewImage(width, height)
overlayImage.Fill(color.RGBA{R: 0, G: 0, B: 0, A: 180})
overlaySize.width = width
overlaySize.height = height
}
return overlayImage
}
type MenuOption int
const (
@@ -69,9 +87,9 @@ func (m *PauseMenu) Update() *MenuOption {
func (m *PauseMenu) Draw(screen *ebiten.Image, screenWidth, screenHeight int) {
// Draw semi-transparent overlay
overlay := ebiten.NewImage(screenWidth, screenHeight)
overlay.Fill(color.RGBA{R: 0, G: 0, B: 0, A: 180})
screen.DrawImage(overlay, nil)
if overlay := getOverlayImage(screenWidth, screenHeight); overlay != nil {
screen.DrawImage(overlay, nil)
}
// Menu dimensions
menuWidth := 400