Legend of the Gold Box... A game written for the LOWREZJAM 2018 game jam
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

75 lines
1.9KB

  1. from . import gbe
  2. from .nodes import *
  3. from . import scenes
  4. _RUNNING = False
  5. def _OnQuit(event, data):
  6. global _RUNNING
  7. _RUNNING = False
  8. def _OnVideoResize(event, data):
  9. flags = gbe.display.Display.flags
  10. gbe.display.Display.set_mode(data["size"], flags)
  11. print("Resized to {}".format(gbe.display.Display.resolution))
  12. def _OnKeyEvent(event, data):
  13. global _RUNNING
  14. if event == "KEYDOWN":
  15. if data["key"] == 27:
  16. _RUNNING = False
  17. print("Key {} down".format(data["key_name"]))
  18. elif event == "KEYUP":
  19. print("Key {} up".format(data["key_name"]))
  20. elif event == "KEYPRESSED":
  21. print("Key {} pressed".format(data["key_name"]))
  22. def start():
  23. global _RUNNING, _OnKeyEvent, _OnQuit, _OnVideoResize
  24. sm = gbe.statemachine.StateMachine()
  25. gbe.events.Events.listen("QUIT", _OnQuit)
  26. #gbe.events.Events.listen("KEYDOWN", _OnKeyEvent)
  27. #gbe.events.Events.listen("KEYUP", _OnKeyEvent)
  28. #gbe.events.Events.listen("KEYPRESSED", _OnKeyEvent)
  29. d = gbe.display.Display
  30. d.init(640, 480)
  31. d.caption = "Goldbox 64"
  32. d.watch_for_resize(True)
  33. d.set_clear_color(0,0,0)
  34. #root = NodeInterface()
  35. #root.scale_to_display = True
  36. #root.keep_aspect_ratio = True
  37. #root.align_center = True
  38. #root.set_surface((64, 64))
  39. #sprite = gbe.nodes.NodeSprite("Sprite", root)
  40. #sprite.image = "maptiles/Walls.png"
  41. #sprite.rect = (48, 32, 16, 16)
  42. #sprite.position = (20, 20)
  43. #text = gbe.nodes.NodeText("TextNode", root)
  44. #text.font_src = "IttyBitty.ttf"
  45. #text.size = 4
  46. #text.antialias = False
  47. #text.text = "ObsidianBlk 123456"
  48. #text.set_color(255, 64, 128)
  49. #text.position_y = 30
  50. sm.register_node(scenes.mainmenu.get())
  51. sm.register_node(scenes.editor.get())
  52. sm.activate_node("MAIN_MENU")
  53. _RUNNING = True
  54. while _RUNNING:
  55. gbe.events.pollEmitter()
  56. sm.update()
  57. sm.render()
  58. sm.close()
  59. d.close()