Форум Anivisual закрыт. Вы не можете создавать новые темы или писать ответы. Форум будет работать в режиме архива.
Пользователи · Поиск по форуму · · · Регистрация

  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Форум о визуальных новеллах » Записи участника » AxelK [52]
Результаты поиска

AxelK

#47 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Нет ли какого-нибудь типового решения задачи, когда надо сменить изображение на экране просто через интервал времени?
Типичный пример: персонаж меняет позу во время диалога.
Если объявить для этого DynamicDisplayable, оно конечно работает, но тогда между позами не будет перехода.
Другие варианты как-то в голову не идут.
Вот бы аналог setTimeout как в джаваскрипте :))

AxelK

#48 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Ненене, repeat это конечно хорошо, но не то

show char at magic ()
voice line_1_2
Char "line1 \n line2"

Задача сделать так чтобы Char посреди озвучивания текста поменял позу ну например через Dissolve
То есть одна поза пока читает line1 и вторая пока читает line2

По ссылке вроде человек пытается решить что-то очень похожее, но незаметно, чтоб задача решилась.

AxelK

#49 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Вы не поняли. Поменять надо
1) Не просто по таймеру, но и через эффект
2) На экране это одна фраза и озвучивает её один файл. Несколько слов с одной эмоцией и несколько с другой.
Опционально ещё и подпрыгивания/приседания, но это через ATL  как раз решается легко, а вот как пихнуть эффект смены картинок - не пойму.

AxelK

#50 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Нет так не прокатит.
Вот что хотелось бы (вымышленный код который само собой не работает)
 
Код
image girl_sprite:
        "girl_1.png"
        pause [b]1.0[/b]
        "girl_2.png" [b]with Dissolve (0.5)[/b]

    show girl_sprite with Dissolve (0.5)
    girl "Фраза которая произносится 3 секунды." # посреди фразы поза будет поменяна с эффектом


Одна мысль мне показалась подходящей: это модифицировать DynamicImage, чтобы он по таймеру запустил функцию, а уж в функции я бы впихнул любую смену с любым эффектом.
Но это тоже не работает. Ругается на контекст.

То есть вот что я делал (псевдокод, просто идея)
   
Код
def show_live (st, at, delay):
        if st > delay:
            my_custom_function ()
            return Null(0), None
        else:
            return Null(0), 0.5

    def my_custom_function ():
        show  image 2 # вторая картинка

img = DynamicDisplayable(show_live(1.0))
show img # это видно не будет
show image1 # это первая картинка
say phrase


Exception: Cannot start an interaction in the middle of an interaction, without creating a new context.

AxelK

#51 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Periwinkle, а как такой ATL обернуть в функцию?
дело в том, что girl.png и girl2.png в моем случае это довольно хитрые Composite в несколько слоев, которые еще и от переменных зависят и я не могу объявить картинку под каждый случай.
Ну точнее могу, но это будет очень много лишнего текста.

если сильно упростить для удобочитаемости

Код

  def mk_char (id):
        return Composite( (800, 600)
        , (0, 0),"image%d.png" % id
        , (0, 0), "image%d.png" % id
        )

    def show_char (id, _at=[], _layer = 'master', fx=dissolve):
        img = mk_char ( id )
        renpy.show ('', at_list=_at, layer=_layer, what=img)
        renpy.with_statement (fx)


Это для простой картинки хорошо, когда не надо менять позу.
Какой бы придумать метод для программного создания картинок которые будут меняться?
Ведь ATL по-моему не делается так, он только объявляется заранее?
Форум о визуальных новеллах » Записи участника » AxelK [52]
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск: