mirror of
https://github.com/yeslayla/golang-game-framework.git
synced 2025-09-13 19:43:58 +02:00
Add delta
value between frames
This commit is contained in:
@ -13,8 +13,8 @@ type Camera2D struct {
|
||||
renderer *rendering.Renderer2D
|
||||
}
|
||||
|
||||
func (camera *Camera2D) Update() error {
|
||||
if err := camera.Node2D.Update(); err != nil {
|
||||
func (camera *Camera2D) Update(delta float64) error {
|
||||
if err := camera.Node2D.Update(delta); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,7 @@ const (
|
||||
|
||||
type INode interface {
|
||||
GetName() string
|
||||
Update() error
|
||||
Update(delta float64) error
|
||||
ready(INode) error
|
||||
IsProcessing() bool
|
||||
GetProcessMode() ProcessMode
|
||||
|
10
node/node.go
10
node/node.go
@ -14,7 +14,7 @@ type Node struct {
|
||||
processMode ProcessMode
|
||||
|
||||
onReadyMethods []func() error
|
||||
onUpdateMethods []func() error
|
||||
onUpdateMethods []func(float64) error
|
||||
onDraw2dMethods []func(rendering.Renderer2D) error
|
||||
}
|
||||
|
||||
@ -36,16 +36,16 @@ func (node *Node) OnReady(callback func() error) {
|
||||
node.onReadyMethods = append(node.onReadyMethods, callback)
|
||||
}
|
||||
|
||||
func (node *Node) Update() error {
|
||||
func (node *Node) Update(delta float64) error {
|
||||
for _, child := range node.children {
|
||||
if err := child.Update(); err != nil {
|
||||
if err := child.Update(delta); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if node.IsProcessing() {
|
||||
for _, updateMethod := range node.onUpdateMethods {
|
||||
if err := updateMethod(); err != nil {
|
||||
if err := updateMethod(delta); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@ -54,7 +54,7 @@ func (node *Node) Update() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (node *Node) OnUpdate(callback func() error) {
|
||||
func (node *Node) OnUpdate(callback func(float64) error) {
|
||||
if callback == nil {
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user