예제 #1
0
파일: Tween.go 프로젝트: skarr/GarageEngine
func (t *Tween) updateProgress() bool {
	delta := engine.GameTime().Sub(t.startTime)
	if t.reverse {
		t.progress = 1 - float32(float64(delta)/float64(t.Time))
	} else {
		t.progress = float32(float64(delta) / float64(t.Time))
	}
	destroy := false
	t.progress, destroy = t.Loop(t, t.progress)
	return destroy
}
예제 #2
0
func Create(t *Tween) *Tween {
	if t.To == nil || (t.To != nil && t.From == nil && t.Type == nil) {
		panic("Not possible tween")
	}
	if t.Target != nil {
		t.Target.AddComponent(newTweens(t))
	}
	if t.Algo == nil {
		t.Algo = Linear
	}
	if t.Loop == nil {
		t.Loop = None
	}
	t.startTime = engine.GameTime()
	t.progress = 0
	return t
}