mirror of
https://github.com/yeslayla/golang-game-framework.git
synced 2025-12-06 17:23:25 +01:00
Add delta value between frames
This commit is contained in:
13
main.go
13
main.go
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/manleydev/golang-game-framework/game"
|
||||
"github.com/manleydev/golang-game-framework/input"
|
||||
@@ -27,16 +28,18 @@ func main() {
|
||||
game.Run(&root, renderer, input)
|
||||
|
||||
running := true
|
||||
var lastTimestamp int64 = time.Now().UnixMicro()
|
||||
var delta float64 = 0.0
|
||||
for running {
|
||||
|
||||
if err := root.Update(); err != nil {
|
||||
if err := root.Update(delta); err != nil {
|
||||
log.Fatal("Update: ", err)
|
||||
}
|
||||
if err := input.Update(); err != nil {
|
||||
if err := input.Update(delta); err != nil {
|
||||
log.Fatal("Input Update: ", err)
|
||||
}
|
||||
|
||||
if err := renderer.Update(); err != nil {
|
||||
if err := renderer.Update(delta); err != nil {
|
||||
log.Fatal("Renderer Update: ", err)
|
||||
}
|
||||
|
||||
@@ -47,5 +50,9 @@ func main() {
|
||||
log.Fatal("Renderer Draw: ", err)
|
||||
}
|
||||
|
||||
newTimestamp := time.Now().UnixMicro()
|
||||
delta = float64(lastTimestamp) / float64(newTimestamp)
|
||||
lastTimestamp = newTimestamp
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user