|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import pygame
- from pygame.locals import *
- class Hero(pygame.sprite.Sprite):
- def __init__(self):
- super(Hero, self).__init__()
- self.surf = pygame.Surface((25, 25))
- self.surf.fill((255, 255, 255))
- self.rect = self.surf.get_rect()
- def updata(self, pressed_keys):
- if pressed_keys[K_w]:
- self.rect.move_ip(0, -5)
- if pressed_keys[K_s]:
- self.rect.move_ip(0, 5)
- if pressed_keys[K_LEFT]:
- self.rect.move_ip(-5, 0)
- if pressed_keys[K_d]:
- self.rect.move_ip(5, 0)
- pygame.init()
- size = 800, 600
- screen = pygame.display.set_mode(size)
- hero = Hero()
- running = True
- while running:
- for event in pygame.event.get():
- if event.type == KEYDOWN:
- if event.key == K_ESCAPE or event.key == K_SPACE:
- running = False
- elif event.type == QUIT:
- running = False
- pressed_key = pygame.key.get_pressed()
- hero.updata(pressed_key)
- screen.blit(hero.surf, (400, 300))
- pygame.display.flip()
复制代码 如上,要实现的是通过w,s,a,d四个键实现屏幕中的小方块移动,按了没反应,也没有报错信息,求助各位大大,这是咋回事?
screen.blit(hero.surf, (400, 300))
你这不是在固定位置画东西么,
screen.blit(hero.surf, hero.rect)
|
|