Skip to content

Commit 3bcdc28

Browse files
committed
gui: update easing functions to use arcade.anim
1 parent a14cb37 commit 3bcdc28

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

arcade/examples/gui/transitions.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
11
import arcade
2-
from arcade.easing import linear
2+
from arcade.anim import Easing
33
from arcade.gui import UIManager, TransitionChain, TransitionAttr, TransitionAttrIncr
44
from arcade.gui.transition import TransitionAttrSet
55
from arcade.gui.widgets.buttons import UIFlatButton
66

77

8+
class AutoSizeButton(UIFlatButton):
9+
def __init__(self, **kwargs):
10+
super().__init__(**kwargs)
11+
self.ui_label.fit_content()
12+
13+
def prepare_layout(self):
14+
# update size hint min to fit children
15+
min_w = max(map(lambda c: c.width, self.children))
16+
min_h = max(map(lambda c: c.height, self.children))
17+
self.size_hint_min = (min_w, min_h)
18+
19+
820
class DemoWindow(arcade.Window):
921
def __init__(self):
1022
super().__init__(800, 600, "UI Mockup", resizable=True)
@@ -14,7 +26,7 @@ def __init__(self):
1426
self.manager = UIManager()
1527
self.manager.enable()
1628

17-
button = self.manager.add(UIFlatButton(text="Click me I can move!"))
29+
button = self.manager.add(AutoSizeButton(text="Click me I can move!"))
1830
button.center_on_screen()
1931

2032
@button.event
@@ -29,16 +41,20 @@ def on_click(event):
2941
chain.add(TransitionAttrIncr(attribute="center_x", increment=100, duration=1.0))
3042
chain.add(
3143
TransitionAttrIncr(
32-
attribute="center_y", increment=100, duration=1, ease_function=linear
44+
attribute="center_y", increment=100, duration=1, ease_function=Easing.LINEAR
3345
)
3446
)
3547

3648
# Go back
3749
chain.add(
38-
TransitionAttr(attribute="center_x", end=start_x, duration=1, ease_function=linear)
50+
TransitionAttr(
51+
attribute="center_x", end=start_x, duration=1, ease_function=Easing.LINEAR
52+
)
3953
)
4054
chain.add(
41-
TransitionAttr(attribute="center_y", end=start_y, duration=1, ease_function=linear)
55+
TransitionAttr(
56+
attribute="center_y", end=start_y, duration=1, ease_function=Easing.LINEAR
57+
)
4258
)
4359
chain.add(TransitionAttrSet(attribute="disabled", value=False, duration=0))
4460

@@ -50,4 +66,5 @@ def on_draw(self):
5066

5167

5268
if __name__ == "__main__":
69+
arcade.resources.load_kenney_fonts()
5370
DemoWindow().run()

arcade/gui/transition.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from pyglet.event import EventDispatcher
55

6-
from arcade.easing import linear
6+
from arcade.anim import Easing
77

88
T = TypeVar("T", bound="TransitionBase")
99

@@ -100,7 +100,7 @@ def __init__(
100100
attribute,
101101
duration: float,
102102
start=None,
103-
ease_function=linear,
103+
ease_function=Easing.LINEAR,
104104
delay=0.0,
105105
mutation_function: Callable[[Any, str, float], None] = setattr,
106106
):
@@ -140,7 +140,7 @@ def __init__(
140140
increment: float,
141141
attribute,
142142
duration: float,
143-
ease_function=linear,
143+
ease_function=Easing.LINEAR,
144144
delay=0.0,
145145
mutation_function: Callable[[Any, str, float], None] = setattr,
146146
):

0 commit comments

Comments
 (0)