本文整理汇总了Python中pyglet_gui.manager.Manager.draw方法的典型用法代码示例。如果您正苦于以下问题:Python Manager.draw方法的具体用法?Python Manager.draw怎么用?Python Manager.draw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyglet_gui.manager.Manager
的用法示例。
在下文中一共展示了Manager.draw方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GUI
# 需要导入模块: from pyglet_gui.manager import Manager [as 别名]
# 或者: from pyglet_gui.manager.Manager import draw [as 别名]
class GUI:
"""
Controls the GUI (HUD) of this application
"""
def __init__(self, window, controls, bodies):
self.window = window
self.controls = controls
self.bodies = bodies
self.fps_counter = FPSCounter(window, self.fps_update)
# Setup HUD elements
self.label_fps = Label("", bold=True, font_name="Arial", font_size=12, color=(127, 127, 127, 127))
self.label_time = Label("", bold=True, font_name="Arial", font_size=18, color=(127, 127, 127, 127))
self.label_help = BetterLabel(load_string('help.txt'), bold=False, font_name="Arial", font_size=18, color=(170, 170, 170, 255), multiline=True, lblwidth=600)
self.label_planet_info = BetterLabel("", bold=False, font_name="Arial", font_size=12, color=(170, 170, 170, 255), multiline=True, lblwidth=400, lblalign='right')
self.managers = [
Manager(self.label_fps, window=window, theme=empty_theme, is_movable=False, anchor=ANCHOR_TOP_LEFT),
Manager(self.label_time, window=window, theme=empty_theme, is_movable=False, anchor=ANCHOR_BOTTOM_LEFT)
]
self.label_help_manager = Manager(self.label_help, window=window, theme=empty_theme, is_movable=False, anchor=ANCHOR_TOP_LEFT, offset=(0, -17))
self.label_planet_info_manager = Manager(self.label_planet_info, window=window, theme=empty_theme, is_movable=False, anchor=ANCHOR_BOTTOM_RIGHT, offset=(-180, 36))
body_buttons = []
for body in self.bodies:
body_buttons.append(BodyButton(self, body).button)
self.managers_when_not_locked = [
Manager(VerticalContainer(body_buttons, align=HALIGN_RIGHT), window=window, theme=ThemeFromPath("theme/bodybutton"), is_movable=False, anchor=ANCHOR_TOP_RIGHT)
]
def fps_update(self, fps):
self.label_fps.set_text(str(fps) + "fps")
def update_time(self, timestep, solarsystem_time):
self.label_time.set_text("1 second = " + str(floor(timestep / 60 / 60)) + "hours. Current Date: " + str(J2000 + datetime.timedelta(seconds=solarsystem_time)))
def draw(self):
if self.controls.draw_help_label:
self.label_help_manager.draw()
if self.controls.selected_body:
body = self.controls.selected_body
text = ""
text += "Name: " + body.name + "\n"
text += "Position: " + str(round(body.xyz.x, 2)) + " " + str(round(body.xyz.y, 2)) + " " + str(round(body.xyz.z, 2)) + "\n"
text += "Rotation Period: " + str(round(body.sidereal_rotation_period / 60 / 60 / 24, 2)) + "days\n"
self.label_planet_info.set_text(text)
self.label_planet_info_manager.draw()
for manager in self.managers:
manager.draw()
if not self.controls.mouse_locked:
for manager in self.managers_when_not_locked:
manager.draw()