Skip to content

Commit b230342

Browse files
committed
fix SetCeter() bug
1 parent 243072e commit b230342

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

camera.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,8 +306,8 @@ func (cam *Camera) SetTopLeft(x, y float64) {
306306
//
307307
// Can be used to cancel follow camera and teleport to target.
308308
func (cam *Camera) SetCenter(x, y float64) {
309-
cam.LookAt(x, y)
310309
cam.TempTargetX, cam.TempTargetY = x, y
310+
cam.LookAt(x, y)
311311
}
312312

313313
// Center returns center point of the camera in world-space

camera_test.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,24 @@ func TestCenter(t *testing.T) {
2424
t.Error()
2525
}
2626
}
27+
func TestSetCenter(t *testing.T) {
28+
k := kamera.NewCamera(0, 0, 100, 100)
29+
k.SmoothType = kamera.SmoothDamp
30+
k.SetCenter(3, 5)
31+
x, y := k.Center()
32+
if x != 3 && y != 5 {
33+
t.Error()
34+
}
35+
if k.TempTargetX != 3 || k.TempTargetY != 5 {
36+
t.Error()
37+
}
38+
k.SmoothType = kamera.Lerp
39+
k.SetCenter(5, 3)
40+
x, y = k.Center()
41+
if x != 5 && y != 3 {
42+
t.Error()
43+
}
44+
if k.TempTargetX != 5 || k.TempTargetY != 3 {
45+
t.Error()
46+
}
47+
}

0 commit comments

Comments
 (0)