Результаты поиска
|
|
#226 | Тема: Анимации карты изображения?
Хотелось бы ошибаться, но насколько я знаю тривиальных путей назначить анимацию на кнопку по нажатию не существует даже для текстовых/графических кнопок - нужно изворачиваться хитрыми transform ами.
Что же касается imagemap - основной проблемой будет отделить одну кнопку от другой. Моя костыльная интуиция предложила заабусить состояния selected или sensitive например:
Код image click_animation: 'idle' .05 'hover' .05 repeat default sel = 0
screen imgmap: if sel: timer .3 action SetVariable('sel',0) imagemap: ground 'frame' idle 'idle' hover 'hover' selected_idle 'click_animation' selected_hover 'click_animation' hotspot (100,100,300,100) action SetVariable('sel',1) hotspot (100,250,300,100) action SetVariable('sel',2)
но тогда придется отказаться от использования этих состояний по прямому назначению
короче вопрос открыт. мне тоже интересно 
Сообщение отредактировал СОНЦЕ - Четверг, 22/Окт/2020, 14:41
|
#227 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
OldSoldier,
Код init python: def toggle_element(list,i): list[i]= not list[i] return
screen what_to_check(list): default is_checked = [False for l in list] timer .01 action Function(toggle_element,is_checked,0)
vbox: for i,p in enumerate(list): textbutton ('[x] ' if is_checked[i] else '[ ] ')+p action Function(toggle_element,is_checked,i) textbutton 'ok' action Return([p for i,p in enumerate(list) if is_checked[i]])
label main_menu: return
label start: 'что вы хотите купить' call screen what_to_check(['лук','морковь','картошка','свекла','молоко']) $ bought = ', '.join(_return) 'вот то, что вы купили: [bought]' return
Сообщение отредактировал СОНЦЕ - Суббота, 24/Окт/2020, 17:51
|
#228 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Yan-chan, шрифт надо добавлять именно в проект, в папку game. название шрифта объявленного в gui должно соответствовать добавленному в папку game с учётом регистра. если всё именно так, но ошибка всё равно возникает -- сделай скриншот или текстовый дамп ошибки, по ней будет понятнее что не так...
|
#229 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Кровосiся, у меня трудности с просмотром картинок из спойлера,(вероятно из за хоста на котором они находятся) но содержимое rpy файла красноричиво намекает на то, что он некорректно отдекомпилирован (на месте предполагаемого содержимого всех layeredimage зияющая дыра из пробелов)
|
#230 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Кровосiся, я думаю нужно попробовать поковырять игру другими тулзами/ другими версиями тулза /другими настройками, и добиться коректной декомпиляции. Как выглядит правильно объявленный layeredimage можно подсмотреть в документации Ну и там же можно почитать и "узнать как" вручную их всех выставить. Но кроме "знать бы как" еще будет интересный вопрос "знать бы что", и подозреваю восстанавливать это всё вручную будет оч муторно, лучше это оставить на сасый последний отчаянный вариант
|
#231 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
MorganYu9, action для кнопки PauseAudio(channel, value=True) под channel впиши канал. скорее всего 'music' value = True запаузить = False распаузить ='toggle' режим переключателя
питоновская команда renpy.music.set_pause(value, channel='music') вместо value - True запаузить False распаузить
|
#232 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
stop_control, Можно наложить прозрачную png рамку. Если размер рамки варьируется, можно сделать универсальную рамку через Frame
MorganYu9, Пускай коллеги поправят, но кажется нет универсяльного решения для данного вопроса. Уточни как выглядит меню с паузой, тогда может получишь достойное решение =3
Сообщение отредактировал СОНЦЕ - Воскресенье, 01/Ноя/2020, 22:47
|
#233 | Тема: Как сделать плавное появление текста?
Вообще то вот этот пост в указаной теме красноречиво намекает на решение. Просто без реализации. Вот реализация, если угодно. Невероятно тупая и на практике неприменима, но доказывает концепт и задает вектор для ориентира
Код
transform appear(paus): paus*.02 alpha 0.0 linear 1.0 alpha 1.0
init python: for c in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ': for i in range(80): nameat = c+str(i)+'_at' renpy.image('%s'%nameat,At(Text('%s'%c),appear(i))) def appear_text(what): result = '' tag = False for i,c in enumerate(what): if tag or c == ' ': result+=c elif c == '}': result+=c tag = False elif c == '{': result+=c tag = True else: result += '{image='+c+str(i)+'_at}' return result
screen say(who, what): style_prefix "say"
window: id "window"
if who is not None:
window: id "namebox" style "namebox" text who id "who"
text what id "what" xpos 5000 text appear_text(what) slow True
label main_menu: return
label start: 'Кажется мне удалось это сэмулировать невероятно тупым костылём' 'Если реально будете применять сделайте поизящнее пожалуйста' return
|
#234 | Тема: Как сделать плавное появление текста?
Цитата BattlePeasant (  ) Вообще говоря, это ужас, то что выше предлагается. Я абсолютно согласен). Просто паталогическая страсть к ужасному коду.
Цитата BattlePeasant (  ) почему нельзя переписать функцию, выводящую текст на экран? Это и будет изящным решением. Но это фигура высшего пилотажа, поскольку требует изучения незадокументированного функционала напрямую через исходники. Будет скучно -- вернусь к этому.
|
#235 | Тема: Кто-то хочет со мной в коллаб?
Куку! Я довольно длительное время увлекаюсь созданием ВН(примеры в профиле), и желаю в этом году сделать ещё одну, перед Джемом, чтоб во время него уже по накатанной! И думаю будет веселее если будет единомышленник или группа таковых, чтобы держать активный вектор взаимной активностью. Крч, если есть идея, и для неё нужна помощь, меня можно на это призвать! Могу всё (в какой-то мере... возможно кроме пиара) сильными своими сторонами считаю код и "оригинальные" идеи. Ну и наоборот, если Вы мечтаете скрасить воплощения моих идей своими скиллами, или даже просто помотивировать -- тоже обращайтесь! Главный критерий - Вы должны понравиться мне, а я -- Вам. Для приблизительной ориентировки идеи\направления которые мне нравятся -- они трэшово "упороты", и/или направлены на хентайный фансервис.
Кому стало интересно - пишите в ЛС. Либо в телеграм Мір!
Сообщение отредактировал СОНЦЕ - Суббота, 07/Ноя/2020, 08:29
|
#236 | Тема: Я один не люблю Dropbox и MEGA?
У меня вот все игры хранились на MediaFire и постоянно жаловались что к ним прилетает много адовой навязчивой рекламы. Теперь они все на Mega. Их шифрование параноидальное конечно геренирует абсурдной длины ссылки, но в остальном ничем не смущает. С точки зрения дизойна мега рили приятен. Так что жду пару лет когда ссылки "отвалятся" чтобы понимать суть проблемы А на счет шифрования - надо понииать, что ВН - это искусство. А искусство порой затрагивает очень Очень стрёмные темы. А творцы - это очень Очень трогательные личности для которых стремность может быть смерти подобна, а любая даже иллюзорная приватность -- это вопрос будет ли вн написана/переведена или нет
Все достоинства и удобства Яндекс.диска убивается одинм словом. Украина. Можете представить что эта постоянная необходимость морочится с VPN по ощущениям превращает любой сервис в противную помойку.
|
#237 | Тема: Как сделать плавное появление текста?
progxaker, смотри какая идея правда я гений? правда? правда?
Код transform appear(ti): alpha .0 ti*.02 linear 1.0 alpha 1.0
image red_box=Solid('#f00',xysize=(20,20))
init python: list_for_livecomposite = [(1200,130)] i=0 for y in range(5): for x in range(60): i+=1 list_for_livecomposite.append((x*20,y*26)) list_for_livecomposite.append(At('red_box',appear(i))) image big_box = LiveComposite(*list_for_livecomposite)
screen say(who, what): style_prefix "say"
window: id "window"
if who is not None:
window: id "namebox" style "namebox" text who id "who"
text what id "what" xpos 5000 fixed xmaximum 1200: add AlphaMask(Text(what),'big_box')
label main_menu: return label start: 'Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random ' return
|
#238 | Тема: Как сделать плавное появление текста?
progxaker, хихи прям на полном серьезе похвалил меня в краску вгоняешь вот с комментами и менее гоповским кодом на счет вложенных циклов, я скромно настаиваю что в данном случае это хорошая практика также внедрена попытка устранить проблему с пропуском бегущего эффекта путем дублирования но обнаружена другая проблема - теперь применение изменения скорости появления текста требует перезагрузки т_т
Код ####################################################################### # Эффект плавного появления текста # # Реализован методом внедрения текста в АльфаМаску # собранную из поочередно появляющихся прямоугольников # для имитации нужного эффекта
# SMALL_XY - размеры маленького прямоугольника # подогнанны под размер символа # BIG_XY - размер всей маски подогнан под выделенное для текста окошка
# SPEED - скорость появления текста. Хотелось подогнать под CPS # но там всё не так просто =_=...
transform offset_appear(delay_offset,speed,GRADIENT = 10): #GRADIENT - примерная длина шлейфа градиента в символах alpha .0 delay_offset*speed linear speed*GRADIENT alpha 1.0
init python: LINE_SPACING = 4 #LINE_SPACING - это должна быть стандартная переменная отступа # между строчками в диалоговом окне но я её не нашел T_т SMALL_X = gui.text_size SMALL_Y = gui.text_size+LINE_SPACING BIG_X = (gui.dialogue_width/SMALL_X+1)*SMALL_X BIG_Y = (gui.textbox_height/SMALL_Y+1)*SMALL_Y SPEED = 1.0/preferences.text_cps list_for_dialogue_mask = [(BIG_X,BIG_Y)] delay_offset=0 for y in range(0,BIG_Y,SMALL_Y): for x in range(0,BIG_X,SMALL_X): delay_offset+=1 list_for_dialogue_mask.append((x,y)) list_for_dialogue_mask.append(At('symbol_box',offset_appear(delay_offset,SPEED)))
image symbol_box=Solid('#fff',xysize=(SMALL_X,SMALL_Y)) image dialogue_mask = LiveComposite(*list_for_dialogue_mask)
screen say(who, what): style_prefix "say"
window: id "window"
if who is not None:
window: id "namebox" style "namebox" text who id "who"
text what id "what" fixed style 'say_dialogue': add AlphaMask(Text(what),'dialogue_mask')
label main_menu: return label start: 'Смеркалось, жаркий день бледнел неуловимо, Над озером туман тянулся полосой, И кроткий образ твой, знакомый и любимый, В вечерний тихий час носился предо мной.' 'Улыбка та ж была, которую люблю я, И мягкая коса, как прежде, расплелась, И очи грустные, по-прежнему тоскуя, Глядели на меня в вечерний тихий час.' return
|
#239 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Chaynutyy, гайд не нужен. всё очевидно

Код define box = Character ('box',image = 'box')
image side box: '#fff' size (200,200) yoffset 0 ease .2 yoffset -50 ease .2 yoffset .0 repeat
label main_menu: return
label start: 'foo' box 'bar' return
|
#240 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Цитата Floyd (  ) Дождаться СОНЦЕ. оматасэ! 
1. идем в screens.rpy 2. ищем там screen main_menu(): 3. под строчкой add gui.main_menu_background 9. дописываем add 'circle'
вроде работает в стандартном главном меню. если не - возможно меню не стандартное и тогда глянуть бы на него
Сообщение отредактировал СОНЦЕ - Вторник, 17/Ноя/2020, 14:58
|