本文整理汇总了Python中keyboard.Keyboard.keydown方法的典型用法代码示例。如果您正苦于以下问题:Python Keyboard.keydown方法的具体用法?Python Keyboard.keydown怎么用?Python Keyboard.keydown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类keyboard.Keyboard
的用法示例。
在下文中一共展示了Keyboard.keydown方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: game
# 需要导入模块: from keyboard import Keyboard [as 别名]
# 或者: from keyboard.Keyboard import keydown [as 别名]
def game():
screen.fill(black)
running = True
keyboard = Keyboard()
world = World(32, 32)
off = ((WIDTH - world.get_render_width()) / 2,
(HEIGHT - world.get_render_height()) / 2)
world.offX = off[0]
world.offY = off[1]
ply = Player(0, 0, world)
ply.x = random.randint(0, WIDTH - ply.w)
ply.y = random.randint(0, HEIGHT - ply.h)
while world.entity_hitpos(ply):
ply.x = random.randint(0, WIDTH - ply.w)
ply.y = random.randint(0, HEIGHT - ply.h)
physics = Physics(world, (WIDTH, HEIGHT))
physics.watch(ply)
clock = pygame.time.Clock()
last = pygame.time.get_ticks()
ticks = 0
plydeathtimer = 0
lastrect = pygame.Rect(0, 0, 0, 0)
while running:
ticks += 1
clock.tick(0)
for ev in pygame.event.get():
if ev.type == QUIT:
running = False
break
elif ev.type == FRAMECOUNTER:
print clock.get_fps()
elif ev.type == WORLDREGEN:
world.regen_once()
elif ev.type == ENTITYGEN:
x = random.randint(0, WIDTH)
y = random.randint(0, HEIGHT)
physics.watch(Enemy(x, y, world, physics))
elif ev.type == MOUSEBUTTONDOWN:
if ev.button == 0 and plydeathtimer == 0:
mpos = ev.pos
center = ply.get_center()
a = mpos[0] - center[0]
b = mpos[1] - center[1]
# tan(ang) = b / a
ang = math.atan2(b, a)
# Calculate bullet pos
pos = [math.cos(ang) * ply.w + center[0],
math.sin(ang) * ply.h + center[1]]
bull = Bullet(pos[0], pos[1], world)
speed = 2
bull.vx = speed * math.cos(ang)
bull.vy = speed * math.sin(ang)
physics.watch(bull)
shootsound.play()
elif ev.type == KEYDOWN:
keyboard.keydown(ev.key)
elif ev.type == KEYUP:
keyboard.keyup(ev.key)
# Handle movement
if plydeathtimer == 0:
if keyboard.is_down(K_w):
ply.vy = -1
elif keyboard.is_down(K_s):
ply.vy = 1
else:
ply.vy = 0
if keyboard.is_down(K_a):
ply.vx = -1
elif keyboard.is_down(K_d):
ply.vx = 1
else:
ply.vx = 0
# Shooting repeat
if ticks % 10 == 0 and pygame.mouse.get_pressed()[0]:
mpos = pygame.mouse.get_pos()
center = ply.get_center()
a = mpos[0] - center[0]
b = mpos[1] - center[1]
# tan(ang) = b / a
ang = math.atan2(b, a)
# Calculate bullet pos
pos = [math.cos(ang) * ply.w + center[0],
math.sin(ang) * ply.h + center[1]]
bull = Bullet(pos[0], pos[1], world)
speed = 2
bull.vx = speed * math.cos(ang)
bull.vy = speed * math.sin(ang)
physics.watch(bull)
shootsound.play()
for ent in physics.entities:
#.........这里部分代码省略.........