Пользователи · Поиск по форуму · · Вход в аккаунт · Регистрация |
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ) |
Помощь по Ren'Py (Вопрос\Ответ) |
dmit#587KripWorland, может достаточно использовать трансформу для всех кнопок? типа:
Код transform zoom_button: on idle: linear .1 zoom 1.0 on hover: linear .1 zoom 1.25 screen but(): imagebutton idle "tri" action Return() at zoom_button Сообщение отредактировал dmit - Вторник, 15/Окт/2019, 10:25
планета FOREVER!!! Unkenbro team
|
KripWorland#589Еще такой вопрос: есть ли возможность при наведении или активации imagemap "накладывать" на нее другое изображение и как это организовать?
|
KripWorland#590Еще такой вопрос: есть ли возможность при наведении или активации imagemap "накладывать" на нее другое изображение и как это организовать? Вопрос снимается, решил стандартным (хоть этого и не хотелось) путем создания отдельных картинок для спокойной/наведенной/активированной кнопки... Зато возник другой вопрос: в разных локациях разное количество комнат, для комнат генерируются imagebutton следующим кодом: Код imagebutton: ....name "im_but"+str(i) ....align (0.5, 0.0) ....idle room.icon ....selected_idle room.icon + " act" ....selected_hover room.icon + " act" ....selected room == current_room ....keysym 'K_'+str(i) ....focus_mask True ....action [SetVariable("current_room", room), Jump("AfterWaiting")] ....at middle_zoom очень хочется сделать, чтобы кнопки можно было активировать не только мышью, но и нажатием на клавиатуре цифры 1-8 (максимум 8 комнат в локации). Но вот как работает keysym никак не могу разобраться... Дайте пример с использованием "горячих" клавиш, если не затруднит. Заранее спасибо Решил проблему! Вместо keysym после создания кнопки добавил Код key str(i) action [SetVariable("current_room", room), Jump("AfterWaiting")] и все заработало. Всем спасибо Сообщение отредактировал KripWorland - Понедельник, 21/Окт/2019, 16:53
|
KripWorland#593Доброго времени суток.
Застрял на обходе словаря циклом for. В блоке, иницализированным как код python, все отрабатывает, а вот если в коде renpy, то матерится при запуске. Через консоль тот же самый код отрабатывает. Подскажите куда копать? Вот мой код Код for key in AvailableActions: ....AvailableActions[key].active = False File "game/core/core.rpy", line 79: expected statement. for key in AvailableActions: |
СОНЦЕ#594KripWorland, Я в шоке, но в доках ни слова про for непосредственно в renpy. Зато есть while
Код $i=0 while i<len(AvailableActions): $AvailableActions[i].active = False $i+=1 Если что-то получится с for напиши плз, а то неужели мне никогда не доводилось его пользовать Сообщение отредактировал СОНЦЕ - Вторник, 29/Окт/2019, 23:06
|
KuroiZ64#595Доброго времени суток.
Вопрос по ATL. Хотел сделать отдаление с поворотом. Всё работает, но в начале и конце анимации изображение начинает дрожать. Это можно как-то исправить или я что-то не правильно делаю? Код image cg_die: anchor(0.5, 0.5) zoom 2 rotate 50 #alpha 0 xalign 0.55 yalign 0.55 "images/cg/cg10_die.png" with Dissolve(2.0) #linear 4.0 alpha 1 #Spause 5.0 parallel: ease_cubic 20.0 zoom 1.000 parallel: ease_cubic 20.0 rotate 0.000 parallel: ease_cubic 20.0 xalign 0.500 parallel: ease_cubic 20.0 yalign 0.500 parallel: pause 10 "images/cg/cg10_die2.png" with Dissolve(5.0) |
KripWorland#598Проблема в том, что по индексу к элементу словаря не обратится, это не список и не кортеж (кстати да, проверил, список тоже не обходит циклом for, видимо renpy его не может)
Значит придется обходить костылями - сначала делать список ключей, а уже потом обходить его по while |
Ikuku#599KripWorland,
> В блоке, иницализированным как код python, все отрабатывает, а вот если в коде renpy, то матерится при запуске. А почему блок python: не подходит? Его же можно и внутри скрипта использовать, не только "init python:". Так-то ренпи не понимает питоновские команды (не только for, но и операцию присвоения тоже), внутри скрипта их надо как-то экранировать (либо долларами построчно, либо в блок python) Код "Какой-то диалог." python: ....for <что-то> "Еще диалог" init и python - это два разных указателя на дочерний блок, init говорит "выполни этот кусок при запуске программы", а python - "ниже идет блок питоновского кода". Если их собрать вместе, то получится "выполни этот питоновский код при инициализации", но никто не мешает использовать по отдельности. |
KripWorland#600Ikuku, благодарю, этого я не знал. Что с ренпи, что с питоном познакомился около месяца назад, еще во многое предстоит вникнуть...
Тогда вопрос: почему цикл for в экранах отрабатывает "на ура" без всяких танцев с бубнами? Не требуя экранирования как код питона, хотя присвоения идут также через $ Сообщение отредактировал KripWorland - Среда, 30/Окт/2019, 22:37
|
| |||