用pygame制作的一个简单控制方块移动

今天学习了一下pygame的简单用法,想用pygame制作一个小游戏,但受制于能力尚不完善,只能从基础做起。编写了一个简单的“小游戏”,就叫它小游戏吧,只有一个操作,可以实现方块的移动

import sys,pygame

pygame.init()  #窗口初始化
size=width,height=600,600
screen=pygame.display.set_mode(size)   #设置窗口大小
WHITE=pygame.Color('white')
BLACK=pygame.Color('black')
#line=pygame.draw.line(screen,WHITE,(100,500),(200,500),25)

speed=10  #设置方块移动速度
x,y=150,500  #方块初始位置
width1,height1=100,50  #方块长宽
#run=True

while True:
    pygame.time.delay(20)
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            #run=False
            sys.exit()
    #将键盘操作与方块移动建立起联系
    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    #接下来有另一种方法可以实现物体的移动,但其操作不如上面的灵敏
    #if event.type==pygame.KEYDOWN:
       #if event.key==pygame.K_RIGHT:
           #x+=speed
       #if event.key==pygame.K_LEFT:
           #x-=speed
    #控制方块不会超出屏幕
    if x<0:
        x=0
    if x>500:
        x=500

    #窗口刷新
    screen.fill(BLACK)
    #注意,只能在填充背景之后才能引入方块,否则将无法显示
    pygame.draw.rect(screen,WHITE,(x,y,width1,height1))
    #screen.blit(line,linerect)
    pygame.display.update()

之前在网上找了好久,直到后来才知道如何将物块与键盘之间建立起联系。pygame中响应键盘的操作可以有两种,一种

if event.type==pygame.KEYDOWN:
       if event.key==pygame.K_RIGHT

还有一种

keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:

两种方式我都试验了几次,发现还是第二种更流畅,第一种会出现卡顿

以上就是我的一个小游戏的代码,记录我第一个博客,希望以后更努力,会的更多吧!
第一次发博,如有纰漏还望指正!

你可能感兴趣的:(python,pygame)