Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- init python:
- class __MusicInteract(renpy.Displayable):
- __author__ = "Vladya"
- def __init__(self, filenames, channel="music", *music_ar, **music_kw):
- super(__MusicInteract, self).__init__()
- self.channel = channel
- self.music_data = {
- "args": [filenames, channel] + list(music_ar),
- "kwargs": music_kw
- }
- self.__start_interact = False
- def start_play(self):
- renpy.music.play(
- *self.music_data["args"],
- **self.music_data["kwargs"]
- )
- self.__start_interact = True
- return ui.interact()
- def render(self, width, height, st, at):
- if self.__start_interact:
- if not renpy.music.is_playing(self.channel):
- renpy.end_interaction(st)
- renpy.redraw(self, 0)
- return renpy.Render(1, 1)
- def play_interact(*args, **kwargs):
- u"""
- Передавать аргументы, как обычному 'renpy.music.play'.
- Управление вернётся игроку, как только закончится аудиофайл.
- """
- _music_object = __MusicInteract(*args, **kwargs)
- renpy.show("musicInteractObject", what=_music_object)
- play_time = _music_object.start_play()
- renpy.hide("musicInteractObject")
- return play_time
- label start:
- $ play_interact("sound/file123.ogg", loop=False)
- "Конец песни."
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement