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

Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ)
Помощь по Ren'Py (Вопрос\Ответ)

Admin

#1
Сюда пользователи сайта могут писать вопросы о тех или иных функциях движка Ren'Py, а мы попытаемся на них ответить:)

Vichase

#152
возникла такая проблема : есть скрин
Цитата

screen data_screen:
frame:
xalign 0.99 yalign 0.01
vbox:
text "день/неделя" size 22 xalign 0.5
null height 5
hbox:
bar:
xmaximum 5
value day
range week
left_gutter 0
right_gutter 0
thumb None
thumb_shadow None

null width 5

text "[day] / [week]" size 16 xalign 0.5


в скрипте его отображение запускается строкой:
Цитата
show screen data_screen


так вот эта плашка с датой нормально отображается на бэкграундах, представленных, как :
Цитата
image bg town = "town1.jpg"

и не отображается на скринах с активными областями, типа:
Цитата
screen town:
imagemap:
ground "town1.jpg"
hover "town1_hover.png"

hotspot (861, 379, 190, 237) clicked Jump("loft")
hotspot (372, 644, 90, 73) clicked Jump("Mflat")
hotspot (100, 500, 195, 100) clicked Jump("club")


возможно ли вообще их одновременное отображение ? wow

Alex_Apple

#153
Vichase, Тебе придется их объеденять. Копируй код data_screen в конец town. И у тебя будут два скрина. Можешь один сделать, и показывать через if, что необходимо.
Ну или можно так сделать. Вставляешь в конце town этот код:
Код
timer 0.001 action Hide("data_screen"), Show("data_screen")

Hide чтобы убирал скрин созданый до вызова town, если есть. После исполнения town, data_screen останется. А если после исполнения town он не нужен то можешь так сделать:
Код
hotspot (861, 379, 190, 237) clicked Hide("data_screen"),Jump("loft")
hotspot (372, 644, 90, 73) clicked Hide("data_screen"),Jump("Mflat")
hotspot (100, 500, 195, 100) clicked Hide("data_screen"),Jump("club")

Вот так всё это. Если кто-то знает другие варианты, с радостью пополню свою копилку знаний.
Сообщение отредактировал Alex_Apple - Понедельник, 01/Фев/2016, 04:48

Alex_Apple

#154
Еще один вариант:
Код
show screen town
show screen data_screen
$ ui.interact()

Только теперь нужно избавлятся и от town:
Код
hotspot (861, 379, 190, 237) clicked Hide("data_screen"),Hide("town"),Jump("test")
hotspot (372, 644, 90, 73) clicked Hide("data_screen"),Hide("town"),Jump("test")
hotspot (100, 500, 195, 100) clicked Hide("data_screen"),Hide("town"),Jump("test")

Prohogiy

#155
Цитата Fabervisum ()
show star1b:
....xanchor=0.5 yanchor=0.5
....xpos renpy.random.randint(1, 948)
....ypos renpy.random.randint(1, 568)
....repeat


Большое спасибо, что откликнулись, но...
Побродил по интернету, везде говорят, что в Питоне нет оператора repeat.
Есть операторы while и for. Только примеры везде неприменимые к RenPy.
Не программисту разобраться невозможно.
И ещё такой момент. В RenPy анимация зациклена. Как тогда программа поймёт с какого момента повторять цикл? Может быть использовать отсчёт времени?
Если не трудно и есть желание, разъясните чайнику.
А. Вспомнил ещё кое-что.
$_game_menu_screen = None выклчаем меню и, соответственно, правую кнопку мыши. А левую на какое-то время отключить можно?
Сообщение отредактировал Prohogiy - Понедельник, 01/Фев/2016, 08:50

Vichase

#156
Alex_Apple, спасибо за попытку помочь ! но что-то ничего у меня не получилось...
в принципе сам нашел не программное решение своей прблемы, если кому интересно - сделал прозрачную дыру в фоновом изображении скрина таун, на месте где должна отображаться плашка дата и ее стало видно joke

Prohogiy

#157
Кажется, нашёл.
Вот код на Питоне, который мог бы решить мою проблему.

import thread,time

def song():
.... while 1: # бесконечный цикл
........#вот сюда вставь нужный тебе код, который должен выполнятья раз в 10 секунд
........time.sleep(10) # делаем паузу 10 секунд
# запускаем функцию song в отдельном потоке
thread.start_mew_thread(song,())

Здесь и цикл бесконечный, и отсчёт времени.
Зная длительность анимации, легко её зациклить.
В оригинале код придуман для бесконечного проигрывания различных треков.
Огромнейшая просьба!!!
Помогите это правильно оформить для моего конкретного случая и правильно вставить в Renpy. К сожалению не програмист и могу только что-то очевидное по аналогии. Увы.

Gaudema

#158
Доброго времени суток, дамы и господа. Есть у меня одно развлечение: чужие новеллы разбирать и перебирать, чтобы насильно запихнуть их в "ведро". Правда, моя познания в РенПи не так уж и... Поэтому временами возникают вопросы и иногда даже очень тупенькие. Итак, у моего последнего пациента имеется проблема с отображением текста: сначала повествование писалось нормально, а диалоги где-то в области середины и немного правее. Это я с координатами всё же выправил, но всё равно текст может скакать, например, одна фраза резко уезжает влево, при этом ничего криминального в скрипте я не нашёл. Ладно, меня всё более-менее устраивало, но в какой-то момент дико начало раздражать постоянное изменение размера диалогового окна из-за текста. причём его "толщина" зачастую не соответствует количеству текста. Самая беда с диалогами. Появлении имени может развести окно на процентов 20. И в целом, есть тенденция к скачкам вверх-вниз текста. В общем, можно ли сделать фиксированные размеры окна? До этого мне попадались исключительно послушные окна, и, если текст был больше размера, то он просто продолжал писаться в заданных границах, при этом приподнимая изображения окна. Потом это лишнее переносилось на другую строку в скрипте и красота.
Вопрос второй: можно ли привязать отображение меню к правой кнопке мыши? Если конкретнее, с "сохр/загр" на "журнал". На Esc получилось, но он не то, что мне нужно. И да, правда перед этим сначала убирается диалоговое окно и прочие приблуды и толлько вторым нажатием открывается нужное. Это,наверное, третий вопрос. Без этой прелюдии никак?
Ленивая бездарность и творческий импотент

Holybullet

#160
Цитата Int ()
Японские новеллы в основном используют свои движки. Можно выдрать весь арт, спрайты и тп. И собрать новеллу на ренпай перенеся его туда забив русские тексты. Но всё это придётся делать вручную.

Если же вы о играх на ренпай, то можно создавать локализацию. Вон на "Катава седзе" есть патч с переводом.


Я правильно понимаю, что без имеющегося их движка под рукой, у японских новелл текст не заменить? То есть копаться в их коде не выйдет?

P.S.Извиняюсь за оффтоп, но т.к. тем по помощи особо не заметил, то обращаюсь сюда.
Сообщение отредактировал Holybullet - Вторник, 09/Фев/2016, 23:17

Gaudema

#161
Цитата Holybullet ()
Я правильно понимаю, что без имеющегося их движка под рукой, у японских новелл текст не заменить? То есть копаться в их коде не выйдет?

Сударь, я не пошли бы Вы сюды. Точнее места по вашему вопросу я не знаю.
Сообщение отредактировал Gaudema - Среда, 10/Фев/2016, 10:33
Ленивая бездарность и творческий импотент

Holybullet

#162
Цитата Gaudema ()
Сударь, я не пошли бы Вы сюды. На свой ответ вы найдёте свой вопрос сами.


Благодарю, туда и отправлюсь.

venikman1

#163
Ребят, прошу вашей помощи. Есть желание сделать собственную карточную игру, но не понимаю как реализовать вывод картинок на экране в разных координатах, их перемещение и обработку нажатия мыши на одну из картинок. Пожалуйста, расскажите с помощью каких инструментов можно это реализовать.
P.S. Сама реализация не нужна.

Fabervisum

#164
сделай screen с кнопками, которые и будут картами. Только нужно будет создать свой класс Action и привязать его действием на кнопку, а уже внутри его функций - обрабатывать всю математику.
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ)
Поиск: