Screen kalendar: ###наш календарь и в нем прописываем все, без отступов
….add "service/calendar.png": ###картинка календаря с путем к ней ……..zoom 1.5 ……..align (.26,.025) ### Ее координата ….text "[day]": ### текст переменной day которая будет меняться в течении все игры ……..color "#000000" ### цвет кнопки ……..if day < 10: ###условие при меньше 10 day ………….align (.27,.07)### Ее координата ……..else:###не прошла проверку там больше 10 day …………align (.265,.07) ### Ее координата Картинка вот Если вы сделали все правильно, то у вас в игре появился примитивный календарь(обратите где у вас картинка календаря прописана =) проверим вашу самостоятельность как вы наблюдательны к путям файла)
add "service/money.png": Align (.08,.05) text ": [money]": Align (.17,.07) картинка монет
label start: $ day = 1 $ money = 1 Show screen kalendar Show screen cash $ udacha = 0 и т.д.
Кнопки
Есть 2 вида кнопок imagebutton (изображение, пример в игре найти надо картинку девушки и через него кнопка-девушка прописывается) и textbutton (сухой текст, нажав на которую мы перейдем куда то)
Граф кнопка имеет примерно такую структуру Screen vasja: ###ссылка кнопки ……….align (0.5, 0.5)### ее координата ………..idle "bin.png"### изображение 1 в покое …………hover "bin.png"### изображение 2 при наведении …………action Hide ("gruppa_tatu") ### кнопка должна что-то делать, иначе она не будет закрывать собой кнопки на заднем плане, и их можно будет нажать "через" картинку. В кавычках мы прыгаем в метку(gruppa_tatu) …………focus_mask True ### только непрозрачная часть кнопки будет активна - т.е. мы сможем взаимодействовать с задним планом в том месте, где картинка прозрачна
И в метке старт вызываем call screen vasja или show screen vasja в зависимости от того что вам нужно от этой кнопки
Textbutton Все аналогично предыдущей кнопки Screen vasja: textbutton "X" action [Hide("binoculars"), Hide("back_view") ] yalign 0.0 xalign 0.5 или textbutton "X" action Hide("gruppa_tatu") yalign 0.0 xalign 0.5
Координаты изображения Ранее мы умели прописывать координаты спрайтов(at center и т.д) Но допустим нам требуются именно точные координаты(как например кнопкам) тогда (at center и другие) не подойдут нам.
pos=(475, 50) xalign 0.5 yalign 0.5 -% положение координаты на экране(0.5 половина на изображении)
Теперь что значит х и у У – верх низ Х – право лево Если у или х отрицательное значение значит за границей полей изображения Как их прописывать эти координаты? 1) Как анимацию алт image pos = "target1.png" потом в label start: show pos: xanchor 0.5 yanchor 0.5 xpos 0.5 ypos 0.5 ### (ровно посередине экрана)
2) Обычным способом textbutton "X" xpos 100 ypos 200 action Hide("gruppa_tatu ") А как быть если нужно на изображении сделать якорь, как тут? Делается это командой anchor image anchor = "target2.png" в метке старт прописывается Xpos 300 ypos 100 Show anchor: ###Крестик Xanchor 0.5 yanchor 0.5 Xpos 300 ypos 100 With dissolve Что бы сделать присоединение 1 точки с другой show logo blue: Xpos 300 ypos 100 show anchor: Xanchor 0.5 yanchor 0.5 Xpos 400 ypos 100 With dissolve
e "The second position we care about is the anchor. The anchor is a spot on the thing being positioned." e "For example, here we have an xanchor of 0.0 and a yanchor of 0.0. It's in the upper-left corner of the logo image." show anchor: Linear.5 xpos 500 e "When we increase the xanchor to 1.0, the anchor moves to the right corner of the image." show anchor: Linear.5 ypos 400 e "Similarly, when both xanchor and yanchor are 1.0, the anchor is the bottom-right corner."
show pos: Xanchor.5 yanchor.5 Xpos 600 ypos 400 e "To place an image on the screen, we need both the position and the anchor." show logo blue: Linear.5 xpos 400 ypos 100 show anchor: Linear.5 xpos 600 ypos 400 И получается Xalign show logo blue: Linear.5 xalign 0.5 логотип посередине экрана
show logo blue: Linear.5 xalign 0.0 а теперь он слева
show logo blue: linear.5 xalign 1.0
Теперь справа тоже самое и с у высотой его Если не совсем вы поняли что я написал, зайдите в обучение в раздел позиции экрана, и в сценарии tutorial_atl.rpy и вы сможете проследить где что отвечает за координаты Музыка Как добавить в проект? Делается это просто Если вам требуется, что бы музыка повторялась постоянно, то вводится команда
queue music "pop.wav" Теперь разберем что тут записано Play – запуск Music – канал постоянный "rock.mp3"- имя файла и путь его fadeout 1 – текущая музыка затухнет перед следующей музыкой queue- запустить песню на указанный канал после проигрыша предыдущей песни Что бы остановить музыку пишется Stop music fadeout 1 Если вам требуется, что бы музыка играла 1 раз(например крик, или стук в дверь) то вводится команда play sound "ku-ku.mp3" Вы так же можете поставить queue на канал sound но оно будет 1 раз играть. queue play sound "ku-ku.mp3" queue play sound "ku-ku.mp3" queue play sound "ku-ku.mp3"
Что бы вам зарегестрировать свой канал(например что бы кнопки при наведении звучали) Вам потребуется немного поработать с питоном В файле screens.rpy в самом конце напишите init python: renpy.music.register_channel("test_one", "sfx", False) renpy.music.register_channel("test_two", "sfx", False) renpy.music.register_channel("test_three", "sfx", False) renpy.music.register_channel("test_four", "sfx", False) renpy.music.register_channel("test_five", "sfx", False) renpy.music.register_channel("test_six", "sfx", False) Далее когда вы пишите кнопку вы в нее добавляете канал textbutton "X" xpos 100 ypos 200 action [Play("test_six", "Click3.wav"),Hide("gruppa_tatu")] hovered Play("test_one", "menu_click_01.ogg") Теперь разберем что тут записано textbutton "X" xpos 100 ypos 200 action – начало большинства кнопок Play("test_six", "Click3.wav"), -музыка при нажатии на канале test_six( для нажатия достаточно 1 канала) hovered Play("test_one", "menu_click_01.ogg") –музыка при наведения (если несколько кнопок, то несколько кнопок надо использовать)
для горячих точек вот наглядный пример
Анимация Все видели как часто в новеллах персонажи моргают, двигаются а как это происходит? Самый простой способ через алт (1 и 2)
image ger_1: "images/1/1.png" Pause 1.0 "images/1/2.png" Pause 1.0 Repeat 2 repeat 2 – количество повторов 2, если просто поставить repeat, то будет повторяться бесконечно Введя это мы видим что персонаж моргает. Или по старинке как пример вот image glaz = Animation("1.png", 0.1, "2.png", 0.1) И потом просто вызываете анимацию как картинку в проекте пример: Show glaz "текст" Show ger_1
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|