Пользователи · Поиск по форуму · · Вход в аккаунт · Регистрация |
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ) |
Помощь по Ren'Py (Вопрос\Ответ) |
dmit#513пункт меню:
"[persistent.data[0]]Какой-то текст...": где persistent.data[0] какая-то буква В screen nvl не могу получить эту букву из i.caption i.caption[0] = "[" как получить сам текст? букву? (текст на самой кнопке отображается правитьно с буквой) планета FOREVER!!! Unkenbro team
|
dmit#514Egorrus00,
Код show screen timer_test $ parol = renpy.input("Пароль-?", default="",length=4) hide screen timer_test label ty2: "Пароль - [parol]" screen timer_test(): timer 10.0 action [Hide("timer_test"), SetVariable("parol", "xxxx"), Jump("ty2")] Или с устаревшими функциями UI Код python: name ="" ui.text("Введите своё имя:", xalign=0.5, yalign=0.4) ui.timer(10, ui.jumps("ty")) ui.input(name, xalign=0.5, yalign=0.5) name = ui.interact() label ty: if name=="": "Долго думаете" $ name = 'Тупой' "Ваше имя - [name]" планета FOREVER!!! Unkenbro team
|
Ikuku#515dmit, Задача именно в том, чтобы получить в экране меню через caption отдельно то, что лежит в persistent'e и отдельно "Какой-то текст"? Если да, то есть вариант отбивать все, что в persistent, каким-нибудь специальным символом, который точно не будет нигде больше фигурировать, а потом внутри экрана разбивать строку на список, и вынимать нужный кусок списка. Что-то вроде:
Код menu: "[persistent.data[0]]=Какой-то текст": pass "Другой пункт меню, в котором только текст без переменных": pass (т.е. "=" будет отделять текст кнопки от искомой буквы). И дальше в самом экране: Код vbox: for i in items: python: # разбиваем строчку на массив, разделитель - "=" parts = i.caption.split("=") # если "=" в строке не было, то сплит() вернет одноэлементный массив, такие нас не интересуют if len(parts) > 1: some_text = parts[0] # искомый текст из persistent-переменной, выведенный в пункт меню else: some_text = "" textbutton i.caption action i.action # кнопка меню как есть textbutton parts[-1] action i.action # текст без persistent-куска, первый элемент списка parts, начиная с конца. Работает для всех пунктов меню: и тех, в которых была переменная, и тех, в которых не было. if some_text: textbutton some_text action i.action # только persistent-кусок, если есть Единственный минус: отбивочный символ надо подбирать так, чтобы он в строке не встречался в нормальных условиях, только когда его специально туда поставят. |
dmit#516Ikuku, можно и так. можно и передавать просто "НОМЕРТекст" и получать persistent.data[НОМЕР],
Но я ни как не пойму, почему на кнопке (textbutton i.caption) -> "*Текст" , а я не могу получить эту звёздочку вместо [persistent.data[0]] Как вытянуть то что получает кнопка? Собственно глобальная задача была показать то, что пункт меню (эта ветка) была когда-то пройдена :) Код "[persistent.data[0]]Какой-то текст...": persistent.data[0]= " " Сообщение отредактировал dmit - Суббота, 24/Ноя/2018, 15:39
планета FOREVER!!! Unkenbro team
|
Ikuku#517dmit, Внезапно, оказалось, что я и не в курсе, что в i.caption передается неформатированная строка, вместе с тегами и квадратными скобками, my bad) Но теперь вроде понятно. Вы пытались вытащить по срезу нулевой символ, а поскольку в i.caption лежит весь технический мусор, нулевым символом оказывалась квадратная скобка. Есть решение! Брать нулевой символ не от i.caption, а от renpy.substitute(i.caption). Собственно, renpy.substitute() проводит все форматирование, которое происходит "под капотом" при выводе экрана, и возвращает уже отформатированную строку текста, в том виде, в котором она видна на кнопке. Ну, то есть, код будет выглядеть примерно:
Код text renpy.substitute(i.caption)[0] Вроде бы так) |
dmit#518Собрал пакет для андроида. Всё прошло правильно. Через некоторое время потребовалось изменить настройки, а именно имя, версия, иконка. Пробую собирать пакет, получаю стандартную иконку и старые настройки (имя и версия). Более того и при сборке другой новеллы идут эти же настройки (имя, версия, иконка, подпись в меню андроида). Между сборками происходило обновление Ренпи. Где можно сброить настройки? переустановка ни чего не дала.
планета FOREVER!!! Unkenbro team
|
Akiyamy#520Daska, можно создать анимацию с частицами отдельно, присвоив её переменной, а затем вызывать в том месте, где должен быть призрак. (Присвоить как изображение) Чтобы всё было плавно - добавить with dissolve.
Допустим сначала появляются частицы, затем спрайт призрака, а после убрать частицы. Будет ощущение, словно призрак появился с частицами. Но если делать поверх спрайта всё время, наверное, тебе лучше подскажет кто-то другой. Потому что появление спрайта из свечения я делала, а вот второй способ не пробовала. Как вариант: вызывать переменную с частицами поверх слоя со спрайтом как-то одновременно, чтобы при замене спрайта (эмоции какие-нибудь или другая поза) частицы не падали куда-то за спину. Хотя, если и не надо, чтобы частицы были поверх спрайта, то можно их опять же - вызвать и просто не убирать до нужного момента, т.к. при вызове спрайта частицы останутся позади него. (PS может, есть способ и лучше, но я просто о нём не знаю) |
СОНЦЕ#521Daska,
https://ufile.io/iw0ld по ссылке - ренпи проект с произвольно летающим по экрану привидением и частичкой вокруг него. авось это то, что тебе нужно. Вообще подобные вещи очень приятно делать в ATL я вообще смотрю недавно туда крутых плюшек завезли. надо поизучать :3 |
CHMOnika#522Доброго дня, не знала куда написать, поэтому напишу сюда.
Не знаю, почему, но у меня при запуске проэктов вылетает это I'm sorry, but an uncaught exception occurred. After initialization, but before game start. Exception: DirectSoundCreate: No audio device found -- Full Traceback ------------------------------------------------------------ Full traceback: File "D:\renpy-7.1.3-sdk\renpy\bootstrap.py", line 313, in bootstrap renpy.main.main() File "D:\renpy-7.1.3-sdk\renpy\main.py", line 500, in main renpy.display.core.Interface() File "D:\renpy-7.1.3-sdk\renpy\display\core.py", line 1648, in __init__ renpy.audio.audio.init() File "D:\renpy-7.1.3-sdk\renpy\audio\audio.py", line 818, in init renpysound.init(renpy.config.sound_sample_rate, 2, bufsize, False) File "renpysound.pyx", line 200, in renpy.audio.renpysound.init File "renpysound.pyx", line 63, in renpy.audio.renpysound.check_error Exception: DirectSoundCreate: No audio device found Windows-7-6.1.7601-SP1 Ren'Py 7.1.3.1092 ALPHA Mon Dec 24 10:59:50 2018 Можно ли это исправить как-то или конец ренпаю? Вареник
|
dmit#523CHMOnika, ответ на ваш вопрос - https://lemmasoft.renai.us/forums....p382249
вкратце - проблема в вашем звуке - есть ли звуковая карта? - если есть то проблема с драйвером. это и надо исправлять. но можно просто отказаться от звука: Код init python: config.debug_sound = False планета FOREVER!!! Unkenbro team
|
dmit#525Ищите в документации - Gallery
Прикрепления:
2428553.gif
(46.9 Kb)
планета FOREVER!!! Unkenbro team
|
| |||