Skip to content

Commit e5ee4a5

Browse files
committed
Improve the tween demo
Significant style changes.
1 parent 729be34 commit e5ee4a5

File tree

2 files changed

+100
-104
lines changed

2 files changed

+100
-104
lines changed

misc/tween/main.gd

Lines changed: 52 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,54 @@
1-
21
extends Control
32

4-
# Member variables
5-
var trans = ["linear", "sine", "quint", "quart", "quad", "expo", "elastic", "cubic", "circ", "bounce", "back"]
6-
var eases = ["in", "out", "in_out", "out_in"]
7-
var modes = ["move", "color", "scale", "rotate", "callback", "follow", "repeat", "pause"]
3+
const trans_list = ["Linear", "Sine", "Quint", "Quart", "Quad", "Expo", "Elastic", "Cubic", "Circ", "Bounce", "Back"]
4+
const eases_list = ["In", "Out", "InOut", "OutIn"]
5+
const modes_list = ["Move", "Color", "Scale", "Rotate", "Callback", "Follow", "Repeat", "Pause"]
86

97
var state = {
108
trans = Tween.TRANS_LINEAR,
119
eases = Tween.EASE_IN,
1210
}
1311

12+
onready var trans = $Trans
13+
onready var eases = $Eases
14+
onready var modes = $Modes
15+
onready var tween = $Tween
16+
onready var timeline = $Timeline
17+
onready var color_from_picker = $Colors/ColorFrom/Picker
18+
onready var color_to_picker = $Colors/ColorTo/Picker
19+
onready var sprite = $Tween/Area/Sprite
20+
onready var follow = $Tween/Area/Follow
21+
onready var follow_2 = $Tween/Area/Follow2
22+
onready var size = $Tween/Area.get_size()
1423

1524
func _ready():
16-
for index in range(trans.size()):
17-
get_node("trans/" + trans[index]).connect("pressed", self, "on_trans_changed", [trans[index], index])
25+
for index in range(trans_list.size()):
26+
trans.get_node(trans_list[index]).connect("pressed", self, "on_trans_changed", [trans_list[index], index])
1827

19-
for index in range(eases.size()):
20-
get_node("eases/" + eases[index]).connect("pressed", self, "on_eases_changed", [eases[index], index])
28+
for index in range(eases_list.size()):
29+
eases.get_node(eases_list[index]).connect("pressed", self, "on_eases_changed", [eases_list[index], index])
2130

22-
for index in range(modes.size()):
23-
get_node("modes/" + modes[index]).connect("pressed", self, "on_modes_changed", [modes[index]])
31+
for index in range(modes_list.size()):
32+
modes.get_node(modes_list[index]).connect("pressed", self, "on_modes_changed", [modes_list[index]])
2433

25-
get_node("colors/color_from/picker").set_pick_color(Color(1, 0, 0, 1))
26-
get_node("colors/color_from/picker").connect("color_changed", self, "on_color_changed")
34+
color_from_picker.set_pick_color(Color.red)
35+
color_from_picker.connect("color_changed", self, "on_color_changed")
2736

28-
get_node("colors/color_to/picker").set_pick_color(Color(0, 1, 1, 1))
29-
get_node("colors/color_to/picker").connect("color_changed", self, "on_color_changed")
37+
color_to_picker.set_pick_color(Color.cyan)
38+
color_to_picker.connect("color_changed", self, "on_color_changed")
3039

31-
get_node("trans/linear").set_pressed(true)
32-
get_node("eases/in").set_pressed(true)
33-
get_node("modes/move").set_pressed(true)
34-
get_node("modes/repeat").set_pressed(true)
40+
$Trans/Linear.set_pressed(true)
41+
$Eases/In.set_pressed(true)
42+
$Modes/Move.set_pressed(true)
43+
$Modes/Repeat.set_pressed(true)
3544

3645
reset_tween()
3746

3847

3948
func on_trans_changed(trans_name, index):
40-
for index in range(trans.size()):
41-
var pressed = trans[index] == trans_name
42-
var btn = get_node("trans/" + trans[index])
49+
for index in range(trans_list.size()):
50+
var pressed = trans_list[index] == trans_name
51+
var btn = trans.get_node(trans_list[index])
4352

4453
btn.set_pressed(pressed)
4554
set_mouse_filter(Control.MOUSE_FILTER_IGNORE if pressed else Control.MOUSE_FILTER_PASS)
@@ -49,9 +58,9 @@ func on_trans_changed(trans_name, index):
4958

5059

5160
func on_eases_changed(ease_name, index):
52-
for index in range(eases.size()):
53-
var pressed = eases[index] == ease_name
54-
var btn = get_node("eases/" + eases[index])
61+
for index in range(eases_list.size()):
62+
var pressed = eases_list[index] == ease_name
63+
var btn = eases.get_node(eases_list[index])
5564

5665
btn.set_pressed(pressed)
5766
set_mouse_filter(Control.MOUSE_FILTER_IGNORE if pressed else Control.MOUSE_FILTER_PASS)
@@ -61,14 +70,13 @@ func on_eases_changed(ease_name, index):
6170

6271

6372
func on_modes_changed(mode_name):
64-
var tween = get_node("tween")
6573
if mode_name == "pause":
66-
if get_node("modes/pause").is_pressed():
74+
if $Modes/Pause.is_pressed():
6775
tween.stop_all()
68-
get_node("timeline").set_mouse_filter(Control.MOUSE_FILTER_PASS)
76+
timeline.set_mouse_filter(Control.MOUSE_FILTER_PASS)
6977
else:
7078
tween.resume_all()
71-
get_node("timeline").set_mouse_filter(Control.MOUSE_FILTER_IGNORE)
79+
timeline.set_mouse_filter(Control.MOUSE_FILTER_IGNORE)
7280
else:
7381
reset_tween()
7482

@@ -78,41 +86,35 @@ func on_color_changed(_color):
7886

7987

8088
func reset_tween():
81-
var tween = get_node("tween")
8289
var pos = tween.tell()
8390
tween.reset_all()
8491
tween.remove_all()
8592

86-
var sprite = get_node("tween/area/sprite")
87-
var follow = get_node("tween/area/follow")
88-
var follow_2 = get_node("tween/area/follow_2")
89-
var size = get_node("tween/area").get_size()
90-
91-
if get_node("modes/move").is_pressed():
93+
if $Modes/Move.is_pressed():
9294
tween.interpolate_method(sprite, "set_position", Vector2(0, 0), Vector2(size.x, size.y), 2, state.trans, state.eases)
9395
tween.interpolate_property(sprite, "position", Vector2(size.x, size.y), Vector2(0, 0), 2, state.trans, state.eases, 2)
9496

95-
if get_node("modes/color").is_pressed():
96-
tween.interpolate_method(sprite, "set_modulate", get_node("colors/color_from/picker").get_pick_color(), get_node("colors/color_to/picker").get_pick_color(), 2, state.trans, state.eases)
97-
tween.interpolate_property(sprite, "modulate", get_node("colors/color_to/picker").get_pick_color(), get_node("colors/color_from/picker").get_pick_color(), 2, state.trans, state.eases, 2)
97+
if $Modes/Color.is_pressed():
98+
tween.interpolate_method(sprite, "set_modulate", color_from_picker.get_pick_color(), color_to_picker.get_pick_color(), 2, state.trans, state.eases)
99+
tween.interpolate_property(sprite, "modulate", color_to_picker.get_pick_color(), color_from_picker.get_pick_color(), 2, state.trans, state.eases, 2)
98100
else:
99-
sprite.set_modulate(Color(1, 1, 1, 1))
101+
sprite.set_modulate(Color.white)
100102

101-
if get_node("modes/scale").is_pressed():
103+
if $Modes/Scale.is_pressed():
102104
tween.interpolate_method(sprite, "set_scale", Vector2(0.5, 0.5), Vector2(1.5, 1.5), 2, state.trans, state.eases)
103105
tween.interpolate_property(sprite, "scale", Vector2(1.5, 1.5), Vector2(0.5, 0.5), 2, state.trans, state.eases, 2)
104106
else:
105-
sprite.set_scale(Vector2(1, 1))
107+
sprite.set_scale(Vector2.ONE)
106108

107-
if get_node("modes/rotate").is_pressed():
109+
if $Modes/Rotate.is_pressed():
108110
tween.interpolate_method(sprite, "set_rotation_degrees", 0, 360, 2, state.trans, state.eases)
109111
tween.interpolate_property(sprite, "rotation_degrees", 360, 0, 2, state.trans, state.eases, 2)
110112

111-
if get_node("modes/callback").is_pressed():
113+
if $Modes/Callback.is_pressed():
112114
tween.interpolate_callback(self, 0.5, "on_callback", "0.5 second's after")
113115
tween.interpolate_callback(self, 0.2, "on_callback", "1.2 second's after")
114116

115-
if get_node("modes/follow").is_pressed():
117+
if $Modes/Follow.is_pressed():
116118
follow.show()
117119
follow_2.show()
118120

@@ -125,38 +127,31 @@ func reset_tween():
125127
follow.hide()
126128
follow_2.hide()
127129

128-
tween.set_repeat(get_node("modes/repeat").is_pressed())
130+
tween.set_repeat($Modes/Repeat.is_pressed())
129131
tween.start()
130132
tween.seek(pos)
131133

132-
if get_node("modes/pause").is_pressed():
134+
if $Modes/Pause.is_pressed():
133135
tween.stop_all()
134136
#get_node("timeline").set_ignore_mouse(false)
135-
get_node("timeline").set_value(0)
137+
timeline.set_value(0)
136138
else:
137139
tween.resume_all()
138140
#get_node("timeline").set_ignore_mouse(true)
139141

140142

141143
func _on_tween_step(_object, _key, elapsed, _value):
142-
var timeline = get_node("timeline")
143-
144-
var tween = get_node("tween")
145144
var runtime = tween.get_runtime()
146-
147145
var ratio = 100 * (elapsed / runtime)
148146
timeline.set_value(ratio)
149147

150148

151149
func _on_timeline_value_changed(value):
152-
if !get_node("modes/pause").is_pressed():
150+
if !$Modes/Pause.is_pressed():
153151
return
154-
155-
var tween = get_node("tween")
156152
var runtime = tween.get_runtime()
157153
tween.seek(runtime * value / 100)
158154

159155

160156
func on_callback(arg):
161-
var label = get_node("tween/area/label")
162-
label.add_text("on_callback -> " + arg + "\n")
157+
$Tween/Area/Label.add_text("on_callback -> " + arg + "\n")

0 commit comments

Comments
 (0)