@Span4ev

Можно ли в Renpy писать обычные python функции?

Увы, тега renpy на хабре нет. Присматриваюсь к этому движку. Приглянулся тем, что он использует пайтон, что для меня важно, как стимул для изучения питона. Смотрел уроки, чужой код, но меня постоянно смущает, что люди дублируют строчки кода в разных участках. Вот пример с одно урока на ютубе:

label one:
    window hide
    $ map_mark = 0
    hide screen map
    show screen one with desolve

label two:
    window hide
    $ map_mark = 0
    hide screen map
    show screen two with desolve

label three:
    window hide
    $ map_mark = 0
    hide screen map
    show screen three with desolve


И я часто такое вижу и после такого к ренпаю прикасаться не хочется... Может я чего-то не понимаю и таковы особенности ренпая и он в этом смысле ограничен, может авторы роликов недостаточно хорошо разбираются в питоне, но серьёзно... Дублирование строк кода. А если таких лейблов 50? А если дублирующихся строк 100 штук? А если нужно что-то изменить, то придётся менять везде. Это непрактично, визуально нагружает код, да и вообще - дурной тон.

Неужто нельзя использовать функции? Ренпай же может использовать питон, есть "init python" и далее какой-то код, как я понимаю, на чистом питоне. Разве нельзя всё обернуть в функцию, например вот так:

def some_func(LOCATION):
    window hide
    $ map_mark = 0
    hide screen map
    show screen LOCATION with desolve

label one:
    some_func(one)
label two:
    some_func(two)
label three:
    some_func(three)


И нужно будет редактировать только одну функцию. Просто если ренпай так не может, то это очень печально...
  • Вопрос задан
  • 944 просмотра
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Разработка игр
А нечего вместо оффмануала всякое ютубное непотребство смотреть - https://www.renpy.org/doc/html/python.html
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы