• Pikener | Дата: Понедельник, 20.03.2017, 23:40 | Сообщение # 5 |
Пользователь
Сообщений: 7
|
Хм, не помогло... И не совсем понял почему нужно ставить в конец screen load:, а не например screen save: Вот весь код screens.rpy
Код # Этот файл публично доступен. Модифицируйте его под свои сообственные экраны.
############################################################################## # Say # # Экран отображения ADV-диалога. # http://www.renpy.org/doc/html/screen_special.html#say screen say:
# Умолчания для side_image и two_window default side_image = None default two_window = False
# Решаем, нужен ли нам двухоконный или однооконный вариант. if not two_window:
# Вариант с одним окном. window: id "window"
has vbox: style "say_vbox"
if who: text who id "who"
text what id "what"
else:
# Вариант с двумя окнами. vbox: style "say_two_window_vbox"
if who: window: style "say_who_window"
text who: id "who"
window: id "window"
has vbox: style "say_vbox"
text what id "what"
# Если есть изображение, отобразить его над текстом. if side_image: add side_image else: add SideImage() xalign 0.0 yalign 1.0
# Использовать быстрое меню. use quick_menu $ renpy.audio.audio.get_channel("music").unpause()
############################################################################## # Choice # # Экран для отображения внутриигровых меню. # http://www.renpy.org/doc/html/screen_special.html#choice
screen choice:
window: style "menu_window" xalign 0.5 yalign 0.5
vbox: style "menu" spacing 2
for caption, action, chosen in items:
if action:
button: action action style "menu_choice_button"
text caption style "menu_choice"
else: text caption style "menu_caption"
init -2 python: config.narrator_menu = True
style.menu_window.set_parent(style.default) style.menu_choice.set_parent(style.button_text) style.menu_choice.clear() style.menu_choice_button.set_parent(style.button) style.menu_choice_button.xminimum = int(config.screen_width * 0.75) style.menu_choice_button.xmaximum = int(config.screen_width * 0.75)
############################################################################## # Input # # Экран для отображения renpy.input() # http://www.renpy.org/doc/html/screen_special.html#input
screen input:
window style "input_window": has vbox
text prompt style "input_prompt" input id "input" style "input_text"
use quick_menu
############################################################################## # Nvl # # Экран для NVL-диалога и меню. # http://www.renpy.org/doc/html/screen_special.html#nvl
screen nvl:
window: style "nvl_window"
has vbox: style "nvl_vbox"
# Отображать диалог. for who, what, who_id, what_id, window_id in dialogue: window: id window_id
has hbox: spacing 10
if who is not None: text who id who_id
text what id what_id
# Отображать меню, если есть. if items:
vbox: id "menu"
for caption, action, chosen in items:
if action:
button: style "nvl_menu_choice_button" action action
text caption style "nvl_menu_choice"
else:
text caption style "nvl_dialogue"
add SideImage() xalign 0.0 yalign 1.0
use quick_menu $ renpy.audio.audio.get_channel("music").unpause()
############################################################################## # Main Menu # # Экран для отображения главного меню при запуске Ren'Py. # http://www.renpy.org/doc/html/screen_special.html#main-menu
label main_menu: call screen main_menu label restart: call screen yesno_prompt(message=u"Точно хотите начать игру заново?", yes_action=Start(), no_action=Jump("main_menu")) screen main_menu: tag menu imagemap: ground "images/menu1.png" hover "images/menu2.png" alpha True
hotspot (217, 169, 292, 287) action Jump("restart") hotspot (505, 125, 260, 236) action FileLoad(1, confirm=False, page="auto", newest=True) hotspot (374, 496, 217, 204) action ShowMenu("load") hotspot (766, 195, 230, 234) action ShowMenu("preferences1") hotspot (111, 11, 352, 66) action OpenURL("https://vk.com/brony_in_pony") hotspot (806, 479, 138, 239) action Quit(confirm=False) init -2 python: config.main_menu_music = "music/bg3.mp3"
############################################################################## # Navigation # # Экран, включаемый в другие экраны для отображения навигации и фона. # http://www.renpy.org/doc/html/screen_special.html#navigation
############################################################################## # Save, Load # # Экраны для сохранения и загрузки игры. # http://www.renpy.org/doc/html/screen_special.html#save # http://www.renpy.org/doc/html/screen_special.html#load
# Ибо сохранение и загрузка очень похожи, мы совмещаем их в один экран, # file_picker. Потом мы используем его из экранов # загрузки и сохранения.
screen save: tag menu
imagemap: ground "images/menu1s.png" hover "images/menu2s.png" cache False hotspot (594,150,97,86) clicked FilePage(1) hotspot (594,235,92,63) clicked FilePage(2) hotspot (594,298,92,64) clicked FilePage(3) hotspot (594,362,92,64) clicked FilePage(4) hotspot (594,426,92,64) clicked FilePage(5) hotspot (594,486,95,89) clicked FilePage("auto") hotspot (138, 142, 406, 206) clicked FileSave(1): use load_save_slot(number=1) hotspot (138, 376, 406, 206) clicked FileSave(3): use load_save_slot(number=3) hotspot (738, 143, 406, 206) clicked FileSave(2): use load_save_slot(number=2) hotspot (738, 377, 406, 206) clicked FileSave(4): use load_save_slot(number=4)
hotspot (175, 607, 222, 112) action ShowMenu("load") hotspot (400, 600, 240, 123) action ShowMenu("preferences") hotspot (640, 600, 303, 119) action MainMenu() hotspot (945, 610, 150, 112) action Quit(confirm=False)
hotspot (1150, 5, 95, 100) action Return() screen load: tag menu
imagemap: ground "images/menu1l.png" hover "images/menu2l.png" cache False hotspot (594,150,97,86) clicked FilePage(1) hotspot (594,235,92,63) clicked FilePage(2) hotspot (594,298,92,64) clicked FilePage(3) hotspot (594,362,92,64) clicked FilePage(4) hotspot (594,426,92,64) clicked FilePage(5) hotspot (594,486,95,89) clicked FilePage("auto") hotspot (138, 142, 406, 206) clicked FileLoad(1): use load_save_slot(number=1) hotspot (138, 376, 406, 206) clicked FileLoad(3): use load_save_slot(number=3) hotspot (738, 143, 406, 206) clicked FileLoad(2): use load_save_slot(number=2) hotspot (738, 377, 406, 206) clicked FileLoad(4): use load_save_slot(number=4)
hotspot (175, 607, 222, 112) action ShowMenu("save") hotspot (400, 600, 240, 123) action ShowMenu("preferences") hotspot (640, 600, 303, 119) action MainMenu() hotspot (945, 610, 150, 112) action Quit(confirm=False)
hotspot (1150, 5, 95, 100) action Return() $ renpy.audio.audio.get_channel("music").pause()
screen load_save_slot: $ file_text = "% 2s. %s\n%s" % ( FileSlotName(number, 4), FileTime(number, empty=_("Empty Slot")), FileSaveName(number))
add FileScreenshot(number) xpos 8 ypos 8 text file_text xpos 10 ypos 15 size 30 color "#ffffff" outlines [ (2, "#302B54") ] key "save_delete" action FileDelete(number) init -2 python: config.thumbnail_width = 388 config.thumbnail_height = 188
############################################################################## # Preferences # # Экран, позволяющий пользователю изменять настройки. # http://www.renpy.org/doc/html/screen_special.html#prefereces
screen preferences: tag menu imagemap: ground "images/menu1o.png" hover "images/menu2o.png" cache False hotspot (175, 607, 222, 112) action ShowMenu("save") hotspot (400, 600, 240, 123) action ShowMenu("load") hotspot (640, 600, 303, 119) action MainMenu() hotspot (945, 610, 150, 112) action Quit(confirm=False)
hotspot (898, 185, 110, 48) action Preference("display", "window") hotspot (635, 184, 239, 49) action Preference("display", "fullscreen")
hotspot (1150, 5, 95, 100) action Return() # Разместить навигационные колонки в сетку шириной 3. grid 1 1: style_group "prefs" xfill True
# Левая колонка. vbox: frame: style_group "pref" bar value Preference("text speed")
frame: style_group "pref1" bar value Preference("auto-forward time") frame: style_group "pref1" bar value Preference("music volume")
frame: style_group "pref1" bar value Preference("sound volume")
init -2 python: style.pref_frame.xfill = True style.pref_frame.xmargin = 20 style.pref_frame.top_margin = 260 style.pref_frame.background = None style.pref_vbox.xfill = True style.pref_slider.xmaximum = 258 style.pref_slider.xalign = 0.65 style.pref_slider.left_bar = "images/menu_pol2.png" style.pref_slider.right_bar = "images/menu_pol1.png" style.pref_slider.ymaximum = 30 style.pref_slider.xmaximum = 258 style.pref_slider.thumb = "images/menu_bup.png" style.pref_slider.thumb_offset = 6 style.pref_slider.thumb_shadow = None
style.pref1_frame.xfill = True style.pref1_frame.xmargin = 20 style.pref1_frame.top_margin = 30 style.pref1_frame.background = None style.pref1_vbox.xfill = True style.pref1_slider.xmaximum = 258 style.pref1_slider.xalign = 0.65 style.pref1_slider.left_bar = "images/menu_pol2.png" style.pref1_slider.right_bar = "images/menu_pol1.png" style.pref1_slider.ymaximum = 30 style.pref1_slider.xmaximum = 258 style.pref1_slider.thumb = "images/menu_bup.png" style.pref1_slider.thumb_offset = 6 style.pref1_slider.thumb_shadow = None
screen preferences1: tag menu imagemap: ground "images/menu1o.png" hover "images/menu2o.png" cache False hotspot (175, 607, 222, 112) action ShowMenu("save") hotspot (400, 600, 240, 123) action ShowMenu("load") hotspot (640, 600, 303, 119) action MainMenu() hotspot (945, 610, 150, 112) action Quit(confirm=False)
hotspot (898, 185, 110, 48) action Preference("display", "window") hotspot (635, 184, 239, 49) action Preference("display", "fullscreen")
hotspot (1150, 5, 95, 100) action Return() # Разместить навигационные колонки в сетку шириной 3. grid 1 1: style_group "prefs" xfill True
# Левая колонка. vbox: frame: style_group "pref" bar value Preference("text speed")
frame: style_group "pref1" bar value Preference("auto-forward time") frame: style_group "pref1" bar value Preference("music volume")
frame: style_group "pref1" bar value Preference("sound volume")
init -2 python: style.pref_frame.xfill = True style.pref_frame.xmargin = 20 style.pref_frame.top_margin = 260 style.pref_frame.background = None style.pref_vbox.xfill = True style.pref_slider.xmaximum = 258 style.pref_slider.xalign = 0.65 style.pref_slider.left_bar = "images/menu_pol2.png" style.pref_slider.right_bar = "images/menu_pol1.png" style.pref_slider.ymaximum = 30 style.pref_slider.xmaximum = 258 style.pref_slider.thumb = "images/menu_bup.png" style.pref_slider.thumb_offset = 6 style.pref_slider.thumb_shadow = None
style.pref1_frame.xfill = True style.pref1_frame.xmargin = 20 style.pref1_frame.top_margin = 30 style.pref1_frame.background = None style.pref1_vbox.xfill = True style.pref1_slider.xmaximum = 258 style.pref1_slider.xalign = 0.65 style.pref1_slider.left_bar = "images/menu_pol2.png" style.pref1_slider.right_bar = "images/menu_pol1.png" style.pref1_slider.ymaximum = 30 style.pref1_slider.xmaximum = 258 style.pref1_slider.thumb = "images/menu_bup.png" style.pref1_slider.thumb_offset = 6 style.pref1_slider.thumb_shadow = None
############################################################################## # Yes/No Prompt # # Экран, спрашивающий у пользователя вопрос да/нет. # http://www.renpy.org/doc/html/screen_special.html#yesno-prompt
screen yesno_prompt:
modal True
window: style "gm_root"
frame: style_group "yesno"
xfill True xmargin .05 ypos .1 yanchor 0 ypadding .05
has vbox: xalign .5 yalign .5 spacing 30
label _(message): xalign 0.5
hbox: xalign 0.5 spacing 100
textbutton _("Да") action yes_action textbutton _("Нет") action no_action
# Правый щелчок и escape отвечают "нет". key "game_menu" action no_action
init -2 python: style.yesno_button.size_group = "yesno" style.yesno_label_text.text_align = 0.5 style.yesno_label_text.layout = "subtitle"
############################################################################## # Quick Menu # # Экран, входящий в экран save и дающий некоторые полезные функции
screen quick_menu: imagemap: ground "images/frame_menu1.png" hover "images/frame_menu2.png"
alpha False
hotspot (8, 689, 34, 23) action Rollback() hotspot (1238, 689, 34, 23) action Skip()
|
|
|
|