Skip to content

Commit

Permalink
(api-break) rename 'scene_switcher' -> 'switcher'
Browse files Browse the repository at this point in the history
  • Loading branch information
gottadiveintopython committed Nov 7, 2024
1 parent 0b67dd8 commit 3dd0475
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 19 deletions.
12 changes: 6 additions & 6 deletions examples/06_full_blown_app_structure.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ async def confirm_before_quitting(*, priority, **kwargs: Unpack[apg.CommonParams
apg.quit()


async def title_scene(*, scene_switcher, userdata, **kwargs: Unpack[apg.CommonParams]):
async def title_scene(*, switcher, userdata, **kwargs: Unpack[apg.CommonParams]):
draw_target = kwargs["draw_target"]
target_rect = draw_target.get_rect()
font = userdata['font']
Expand All @@ -61,11 +61,11 @@ async def title_scene(*, scene_switcher, userdata, **kwargs: Unpack[apg.CommonPa
priority=0x100,
**kwargs))
await e_start.wait()
scene_switcher.switch_to(menu_scene, FadeTransition())
switcher.switch_to(menu_scene, FadeTransition())
await apg.sleep_forever()


async def menu_scene(*, scene_switcher, userdata, **kwargs: Unpack[apg.CommonParams]):
async def menu_scene(*, switcher, userdata, **kwargs: Unpack[apg.CommonParams]):
draw_target = kwargs["draw_target"]
target_rect = draw_target.get_rect()
font = userdata['font']
Expand All @@ -85,11 +85,11 @@ async def menu_scene(*, scene_switcher, userdata, **kwargs: Unpack[apg.CommonPar
priority=0x100, **kwargs))
tasks = await apg.wait_any(e_play.wait(), e_back.wait())
next_scene = title_scene if tasks[1].finished else game_scene
scene_switcher.switch_to(next_scene, FadeTransition())
switcher.switch_to(next_scene, FadeTransition())
await apg.sleep_forever()


async def game_scene(*, scene_switcher, userdata, **kwargs: Unpack[apg.CommonParams]):
async def game_scene(*, switcher, userdata, **kwargs: Unpack[apg.CommonParams]):
draw_target = kwargs["draw_target"]
target_rect = draw_target.get_rect()
font = userdata['font']
Expand All @@ -103,7 +103,7 @@ async def game_scene(*, scene_switcher, userdata, **kwargs: Unpack[apg.CommonPar
while True:
await clock.anim_attrs(dest, y=dest.y + 160, duration=800)
await clock.anim_attrs(dest, y=dest.y - 160, duration=800)
scene_switcher.switch_to(title_scene, FadeTransition())
switcher.switch_to(title_scene, FadeTransition())
await apg.sleep_forever()


Expand Down
4 changes: 2 additions & 2 deletions examples/scene_transition_showcase.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ async def main(**kwargs: Unpack[apg.CommonParams]):
await SceneSwitcher().run(show_transition, priority=0xFFFFFD00, userdata=userdata, **kwargs)


async def show_transition(*, scene_switcher, userdata, executor, sdlevent, draw_target, **__):
async def show_transition(*, switcher, userdata, executor, sdlevent, draw_target, **__):
font = userdata['font']
text, transition = next(userdata['transitions'])
img = font.render(text, True, "white").convert_alpha()
with executor.register(partial(draw_target.blit, img, img.get_rect(center=draw_target.get_rect().center)), priority=0x100):
await sdlevent.wait(pygame.MOUSEBUTTONDOWN, priority=0)
scene_switcher.switch_to(show_transition, transition)
switcher.switch_to(show_transition, transition)
await apg.sleep_forever()


Expand Down
12 changes: 6 additions & 6 deletions examples/whack_a_human.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ async def confirm_and_quit(*, priority, font, **kwargs: Unpack[apg.CommonParams]
apg.quit()


async def title_scene(*, scene_switcher, userdata: UserData, **kwargs: Unpack[apg.CommonParams]):
async def title_scene(*, switcher, userdata: UserData, **kwargs: Unpack[apg.CommonParams]):
draw_target = kwargs["draw_target"]
target_rect = draw_target.get_rect()
font = userdata.font
Expand Down Expand Up @@ -215,7 +215,7 @@ async def title_scene(*, scene_switcher, userdata: UserData, **kwargs: Unpack[ap
images.update(load_images(cur))
userdata.sounds = load_sounds(cur)
images["gift"] = pygame.transform.scale(images["gift"], (200, 200))
scene_switcher.switch_to(game_scene, FadeTransition())
switcher.switch_to(game_scene, FadeTransition())
await apg.sleep_forever()


Expand Down Expand Up @@ -436,7 +436,7 @@ async def game_timer(dest: Rect, *, duration, color=THECOLORS["ivory"], priority
await kwargs["clock"].anim_attrs(ctx, stop_angle=start_angle, duration=duration)


async def game_scene(*, scene_switcher, userdata: UserData, **kwargs: Unpack[apg.CommonParams]):
async def game_scene(*, switcher, userdata: UserData, **kwargs: Unpack[apg.CommonParams]):
from random import randint, random
clock = kwargs["clock"]
draw_target = kwargs["draw_target"]
Expand Down Expand Up @@ -468,11 +468,11 @@ async def game_scene(*, scene_switcher, userdata: UserData, **kwargs: Unpack[apg
hole = inactive_holes.pop(randint(0, len(inactive_holes) - 1))
nursery.start(actions[random() > 0.8](score, speed, inactive_holes, hole_size=hole_size, pos=hole, userdata=userdata, **kwargs))
userdata.last_game_score = score.value
scene_switcher.switch_to(result_scene, FadeTransition(overlay_color=THECOLORS["white"], out_duration=1000, interval=1000, in_duration=500))
switcher.switch_to(result_scene, FadeTransition(overlay_color=THECOLORS["white"], out_duration=1000, interval=1000, in_duration=500))
await apg.sleep_forever()


async def result_scene(*, scene_switcher, userdata: UserData, **kwargs: Unpack[apg.CommonParams]):
async def result_scene(*, switcher, userdata: UserData, **kwargs: Unpack[apg.CommonParams]):
render = userdata.font.render
draw_target = kwargs["draw_target"]
target_rect = draw_target.get_rect()
Expand Down Expand Up @@ -503,7 +503,7 @@ async def result_scene(*, scene_switcher, userdata: UserData, **kwargs: Unpack[a
priority=0x100,
**kwargs))
await kwargs["sdlevent"].wait(C.MOUSEBUTTONDOWN, priority=0x100)
scene_switcher.switch_to(title_scene, FadeTransition())
switcher.switch_to(title_scene, FadeTransition())
await apg.sleep_forever()


Expand Down
2 changes: 2 additions & 0 deletions src/asyncpygame/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ async def some_func(**kwargs: Unpack[CommonParams]):
clock: Clock
pygame_clock: pygame.time.Clock
draw_target: Surface
switcher: None
userdata: None


async def capture_current_frame(executor: PriorityExecutor, priority, source: Surface) -> Awaitable[Surface]:
Expand Down
10 changes: 5 additions & 5 deletions src/asyncpygame/scene_switcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ async def my_transition(**common_params):
yield
# 3rd part
scene_switcher.switch_to(next_scene, my_transition)
switcher.switch_to(next_scene, my_transition)
When your app switches from one scene to another, the transition between them will proceed as follows:
Expand Down Expand Up @@ -55,7 +55,7 @@ async def no_transition(**common_params):
'''
.. code-block::
scene_switcher.switch_to(next_scene, no_transition)
switcher.switch_to(next_scene, no_transition)
'''
yield
yield
Expand All @@ -77,7 +77,7 @@ async def run(self, first_scene, *, userdata: Any=None, priority, sdlevent, **kw
:param userdata: Use this to share data between scenes without relying on global variables.
'''
common_params = {
'scene_switcher': self,
'switcher': self,
'sdlevent': sdlevent,
'userdata': userdata,
**kwargs}
Expand Down Expand Up @@ -106,7 +106,7 @@ class FadeTransition:
'''
.. code-block::
scene_switcher.switch_to(next_scene, FadeTransition())
switcher.switch_to(next_scene, FadeTransition())
'''
def __init__(self, *, overlay_color='black', out_duration=300, in_duration=300, interval=100):
'''
Expand Down Expand Up @@ -147,7 +147,7 @@ class SlideTransition:
'''
.. code-block::
scene_switcher.switch_to(next_scene, SlideTransition())
switcher.switch_to(next_scene, SlideTransition())
'''
_valid_directions = ('right', 'left', 'up', 'down', )

Expand Down

0 comments on commit 3dd0475

Please sign in to comment.