Add tween delay support

Add tween get_runtime function
Update demo for tween delay sample
This commit is contained in:
sanikoyes 2014-08-21 15:34:16 +08:00
parent a8ff97e637
commit d064bdbec3
2 changed files with 18 additions and 8 deletions

View File

@ -89,17 +89,21 @@ func reset_tween():
if get_node("modes/move").is_pressed():
tween.interpolate_method(sprite, "set_pos", Vector2(0,0), Vector2(736, 184), 2, state.trans, state.eases)
tween.interpolate_method(sprite, "set_pos", Vector2(736,184), Vector2(0, 0), 2, state.trans, state.eases, 2)
if get_node("modes/color").is_pressed():
tween.interpolate_method(sprite, "set_modulate", get_node("color/color_from").get_color(), get_node("color/color_to").get_color(), 2, state.trans, state.eases)
tween.interpolate_method(sprite, "set_modulate", get_node("color/color_to").get_color(), get_node("color/color_from").get_color(), 2, state.trans, state.eases, 2)
else:
sprite.set_modulate(Color(1, 1, 1, 1))
if get_node("modes/scale").is_pressed():
tween.interpolate_method(sprite, "set_scale", Vector2(0.5,0.5), Vector2(1.5, 1.5), 2, state.trans, state.eases)
tween.interpolate_method(sprite, "set_scale", Vector2(1.5,1.5), Vector2(0.5, 0.5), 2, state.trans, state.eases, 2)
if get_node("modes/rotate").is_pressed():
tween.interpolate_method(sprite, "set_rot", 0.0, 6.28, 2, state.trans, state.eases)
tween.interpolate_method(sprite, "set_rot", 0, 6.28, 2, state.trans, state.eases)
tween.interpolate_method(sprite, "set_rot", 6.28, 0, 2, state.trans, state.eases, 2)
tween.set_repeat(get_node("modes/repeat").is_pressed())
tween.start()
@ -114,7 +118,11 @@ func reset_tween():
func _on_tween_step( object, key, elapsed, value ):
var timeline = get_node("timeline")
var ratio = 100 * (elapsed / 2)
var tween = get_node("tween")
var runtime = tween.get_runtime()
var ratio = 100 * (elapsed / runtime)
timeline.set_value(ratio)
@ -123,5 +131,6 @@ func _on_timeline_value_changed( value ):
return
var tween = get_node("tween")
tween.seek(2.0 * value / 100)
var runtime = tween.get_runtime()
tween.seek(runtime * value / 100)

File diff suppressed because one or more lines are too long