Проблема при создании собственного главного меню в Ren'py
При создании собственного меню(вот код):
screen main_menu():
tag menu
imagemap:
ground "gui/main_menu.png"
idle "gui/menu1.png"
hover "gui/menu2.png"
hotspot (4, 11, 12, 3) action Start ()
hotspot (4, 15, 21, 3) action ShowMenu ("load")
hotspot (4, 20, 19, 3) action ShowMenu ("preferences")
hotspot (4, 24, 13, 3) action ShowMenu ("about")
hotspot (3, 34, 9, 2) action Quit ("confirm-True")
Возникает такая проблема ("Возникло исключение") :
[/code]While running game code:
File "game/screens.rpy", line 350, in execute
screen main_menu():
File "game/screens.rpy", line 350, in execute
screen main_menu():
IndexError: list index out of range
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
python hide:
File "C:\renpy-8.3.4-sdk\renpy\ast.py", line 827, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\renpy-8.3.4-sdk\renpy\python.py", line 1178, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
python hide:
File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
ui.interact()
File "C:\renpy-8.3.4-sdk\renpy\ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\renpy-8.3.4-sdk\renpy\display\core.py", line 2215, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "C:\renpy-8.3.4-sdk\renpy\display\core.py", line 2745, in interact_core
root_widget.visit_all(lambda d : d.per_interact())
File "C:\renpy-8.3.4-sdk\renpy\display\displayable.py", line 434, in visit_all
d.visit_all(callback, seen)
File "C:\renpy-8.3.4-sdk\renpy\display\displayable.py", line 434, in visit_all
d.visit_all(callback, seen)
File "C:\renpy-8.3.4-sdk\renpy\display\displayable.py", line 434, in visit_all
d.visit_all(callback, seen)
[Previous line repeated 1 more time]
File "C:\renpy-8.3.4-sdk\renpy\display\screen.py", line 480, in visit_all
callback(self)
File "C:\renpy-8.3.4-sdk\renpy\display\core.py", line 2745, in <lambda>
root_widget.visit_all(lambda d : d.per_interact())
File "C:\renpy-8.3.4-sdk\renpy\display\screen.py", line 491, in per_interact
self.update()
File "C:\renpy-8.3.4-sdk\renpy\display\screen.py", line 697, in update
self.screen.function(**self.scope)
File "game/screens.rpy", line 350, in execute
screen main_menu():
File "game/screens.rpy", line 350, in execute
screen main_menu():
File "C:\renpy-8.3.4-sdk\renpy\sl2\slast.py", line 1009, in execute
imc = renpy.ui.imagemap_stack[-1]
IndexError: list index out of range.
Вопрос что делать, как исправить? Помогите.
Ошибка возникает из-за некорректного синтаксиса в действии Quit и проблем с координатами hotspot. Вот исправленный код:
screen main_menu():
tag menu
imagemap:
ground "gui/main_menu.png"
idle "gui/menu1.png"
hover "gui/menu2.png"
hotspot (4, 11, 12, 30) action Start()
hotspot (4, 15, 21, 30) action ShowMenu("load")
hotspot (4, 20, 19, 30) action ShowMenu("preferences")
hotspot (4, 24, 13, 30) action ShowMenu("about")
hotspot (3, 34, 90, 20) action Quit(confirm=True)