def _on_keyboard(self, key, x, y):
if key == 'q':
self.stop_flag = True
thread.exit()
if key == 'f':
if not self._in_fullscreen:
self._orig_w = self.win_width
self._orig_h = self.win_height
glutFullScreen()
self._in_fullscreen = True
else:
glutReshapeWindow(self._orig_w, self._orig_h)
self._in_fullscreen = False
if key in ('w', 's', 'a', 'd'):
if time() - self.prev_move_time > self.move_accel_dt or \
key != self.prev_move_key:
self.move_velo = 0
self.prev_move_time = time()
self.prev_move_key = key
self.move_velo += self.move_accel
if key == 'w':
self.camera.move_forawrd(self.move_velo)
elif key == 's':
self.camera.move_forawrd(-self.move_velo)
elif key == 'a':
self.camera.move_right(-self.move_velo)
else:
self.camera.move_right(self.move_velo)
评论列表
文章目录