def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.set_minimum_size(300, 200) self.keys = key.KeyStateHandler() self.push_handlers(self.keys) pyglet.clock.schedule(self.update) self.model = Model() self.camera = Camera((25, 6, 1.5), (0, 150))
def __init__(self, arene, robo): super().__init__() pos = robo[0] rot = robo[1] self.set_caption = "Robo" self.set_size(1000, 600) self.keys = key.KeyStateHandler() self.push_handlers(self.keys) pyglet.clock.schedule(self.update) self.arene = arene self.model = Model(arene) self.camera = Camera(pos, rot) self.mouse_lock = not self.mouse_lock
class Window(pyglet.window.Window): def push(self, pos, rot): glPushMatrix() glRotatef(-rot[0], 1, 0, 0) glRotatef(-rot[1], 0, 1, 0) glTranslatef( -pos[0], -pos[1], -pos[2], ) def Projection(self): glMatrixMode(GL_PROJECTION) glLoadIdentity() def Model(self): glMatrixMode(GL_MODELVIEW) glLoadIdentity() def set2d(self): self.Projection() gluOrtho2D(0, self.width, 0, self.height) self.Model() def set3d(self): self.Projection() gluPerspective(70, self.width / self.height, 0.05, 1000) self.Model() def setLock(self, state): self.lock = state self.set_exclusive_mouse(state) lock = False mouse_lock = property(lambda self: self.lock, setLock) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.set_minimum_size(300, 200) self.keys = key.KeyStateHandler() self.push_handlers(self.keys) pyglet.clock.schedule(self.update) self.model = Model() self.camera = Camera((25, 6, 1.5), (0, 150)) def on_mouse_motion(self, x, y, dx, dy): if self.mouse_lock: self.camera.mouse_motion(dx, dy) def on_key_press(self, KEY, MOD): if KEY == key.ESCAPE: self.close() elif KEY == key.E: self.mouse_lock = not self.mouse_lock def update(self, dt): self.camera.update(dt, self.keys) def on_draw(self): self.clear() self.set3d() self.push(self.camera.pos, self.camera.rot) self.model.draw() glPopMatrix()
class WindowCarre(pyglet.window.Window): def push(self, pos, rot): glPushMatrix() glRotatef(-rot[0], 0, 1, 0) glRotatef(-rot[1], 0, 0, 1) glTranslatef( -pos[0], -pos[1], -pos[2], ) def Projection(self): glMatrixMode(GL_PROJECTION) glLoadIdentity() def Model(self): glMatrixMode(GL_MODELVIEW) glLoadIdentity() def set3d(self): self.Projection() gluPerspective(1000, 1000 / 800, 0.05, 1000) self.Model() def setLock(self, state): self.lock = state self.set_exclusive_mouse(state) lock = False mouse_lock = property(lambda self: self.lock, setLock) def __init__(self, arene, robo): super().__init__() pos = robo[0] rot = robo[1] self.set_caption = "Robo" self.set_size(1000, 600) self.keys = key.KeyStateHandler() self.push_handlers(self.keys) pyglet.clock.schedule(self.update) self.arene = arene self.model = Model(arene) self.camera = Camera(pos, rot) self.mouse_lock = not self.mouse_lock def on_mouse_motion(self, x, y, dx, dy): if self.mouse_lock: self.camera.mouse_motion(dx, dy) def on_key_press(self, KEY, MOD): if KEY == key.ESCAPE: self.close() if KEY == key.SPACE: pyglet.image.get_buffer_manager().get_color_buffer().save( 'screenshot.png') im = Image.open("screenshot.png") im.show() def update(self, dt): self.camera.updateCarre(dt, self.keys) def on_draw(self): self.clear() self.set3d() self.push(self.camera.pos, self.camera.rot) self.model.draw() glPopMatrix()