From f56c28ac67680fa3018e8b9b6b21d91a3a2621a9 Mon Sep 17 00:00:00 2001 From: Luke Meyers Date: Sat, 8 Feb 2020 19:13:02 -0800 Subject: [PATCH] FPS counter in title bar --- gfx/gfx.go | 24 +++++++----------------- main.go | 13 +++++++++++++ 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/gfx/gfx.go b/gfx/gfx.go index ffd34c8..4cacec7 100644 --- a/gfx/gfx.go +++ b/gfx/gfx.go @@ -5,7 +5,6 @@ import ( "image" "image/color" _ "image/png" - "log" "math" "math/rand" "os" @@ -153,23 +152,14 @@ func renderRacer(ctx context, oldRacer, racer game.Racer, active bool, c pixel.R X: pos.X + w, Y: pos.Y - w, } - - var ur pixel.Vec - if ctx.tween == 1 { - ur = pixel.Vec{ - X: pos.X + w*float64(racer.Kinetics.V+1), - Y: pos.Y + w, - } - log.Printf("ur: %+v", ur) - ur.X = math.Max(ur.X, ll.X) - } else { - ur = pixel.Vec{ - X: pos.X + w*float64(racer.Kinetics.V+1), - Y: pos.Y + w, - } - ur.X = math.Min(ur.X, newPos.X+racerWidth) - ur.X = math.Max(ur.X, ll.X) + ur := pixel.Vec{ + X: pos.X + w*float64(racer.Kinetics.V+1), + Y: pos.Y + w, } + if ctx.tween < 1 { + ur.X = math.Min(ur.X, newPos.X+racerWidth) + } + ur.X = math.Max(ur.X, ll.X) im.Push(ll) im.Push(ur) diff --git a/main.go b/main.go index 7499c22..21ed8f0 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "log" "math/rand" "relay/game" @@ -38,6 +39,11 @@ func run() error { sOld := s turn := 1 + var ( + frames = 0 + second = time.Tick(time.Second) + ) + for !w.Closed() && !s.GameOver { switch { case w.Pressed(pixelgl.KeyQ): @@ -61,6 +67,13 @@ func run() error { } w.Update() + frames++ + select { + case <-second: + w.SetTitle(fmt.Sprintf("%s | FPS: %d", cfg.Title, frames)) + frames = 0 + default: + } } return nil }