added game font rendering using etxt to player hud, fixed current level
This commit is contained in:
@@ -2,11 +2,11 @@ package systems
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"image/color"
|
||||
"openquell/assets"
|
||||
"openquell/observers"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
"github.com/hajimehoshi/ebiten/v2/ebitenutil"
|
||||
"github.com/mlange-42/arche/ecs"
|
||||
)
|
||||
|
||||
@@ -34,13 +34,33 @@ func (system *HudSystem) Update() error {
|
||||
func (system *HudSystem) Draw(screen *ebiten.Image) {
|
||||
op := &ebiten.DrawImageOptions{}
|
||||
screen.DrawImage(assets.Assets["hud"], op)
|
||||
ebitenutil.DebugPrintAt(screen, fmt.Sprintf(
|
||||
"FPS: %02.f TPS: %02.f Level %s: %s",
|
||||
ebiten.ActualFPS(),
|
||||
ebiten.ActualTPS(),
|
||||
system.Plan.Name,
|
||||
system.Plan.Description,
|
||||
), 10, 10)
|
||||
/*
|
||||
ebitenutil.DebugPrintAt(screen, fmt.Sprintf(
|
||||
"FPS: %02.f TPS: %02.f Level %s: %s",
|
||||
ebiten.ActualFPS(),
|
||||
ebiten.ActualTPS(),
|
||||
system.Plan.Name,
|
||||
system.Plan.Description,
|
||||
), 10, 10)
|
||||
*/
|
||||
|
||||
ebitenutil.DebugPrintAt(screen, fmt.Sprintf("Score: %d", system.Observer.GetScore()), 10, 455)
|
||||
score := fmt.Sprintf("Score: %d", system.Observer.GetScore())
|
||||
level := fmt.Sprintf("Level %d %s", system.Plan.Number, system.Plan.Name)
|
||||
|
||||
assets.FontRenderer.Renderer.SetSizePx(20)
|
||||
assets.FontRenderer.Renderer.SetTarget(screen)
|
||||
|
||||
system.Print(score, 515, 22)
|
||||
system.Print(system.Plan.Description, 10, 470)
|
||||
system.Print(level, 10, 22)
|
||||
}
|
||||
|
||||
func (system *HudSystem) Print(text string, x, y int) {
|
||||
fg := &color.RGBA{0x4c, 0, 0xff, 255}
|
||||
bg := &color.RGBA{0x9a, 0x6f, 0xff, 255}
|
||||
|
||||
assets.FontRenderer.Renderer.SetColor(bg)
|
||||
assets.FontRenderer.Renderer.Draw(text, x, y)
|
||||
assets.FontRenderer.Renderer.SetColor(fg)
|
||||
assets.FontRenderer.Renderer.Draw(text, x-1, y-1)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user