Python游戏开发-04-键盘方向键控制精灵移动和翻转(基于Python游戏开发-01)

import pygame
import sys
from pygame.locals import *


#初始化Pygame
pygame.init()


clock = pygame.time.Clock()
size = width,height = 600,400 #实际上是元组
speed = [-2,1]
bg =(255,255,255) #rgb,white


#创建指定大小的窗口
screen = pygame.display.set_mode(size)
#设置标题
pygame.display.set_caption("木尧-pygame初探-可控")
#加载图
muyao = pygame.image.load("muyao.png")
#获得图像位置矩形
position = muyao.get_rect()




l_head = muyao
r_head = pygame.transform.flip(muyao,True,False)


#死循环,一直动
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()


        if event.type ==  KEYDOWN:#需要from pygame.locals import *
            if event.key == K_LEFT:
                muyao = l_head
                speed=[-1,0]
            if event.key == K_RIGHT:
                muyao = r_head
                speed=[1,0]
            if event.key == K_UP:
                speed=[0,-1]
            if event.key == K_DOWN:
                speed=[0,1]


    #move
    position = position.move(speed)


    if position.left < 0 or position.right > width:
        #水平翻转
        muyao = pygame.transform.flip(muyao,True,False) #muyao,水平yes,垂直no
        #反向
        speed[0] = -speed[0]


    if position.top <0 or position.bottom > height:
        speed[1] = -speed[1]


    #填充背景
    screen.fill(bg)
    #更新图像
    screen.blit(muyao,position)
    #更新界面(双缓冲)
    pygame.display.flip()
    #延迟10ms
    #pygame.time.delay(20)
    clock.tick(200)#不高于200帧

猜你喜欢

转载自blog.csdn.net/muyao987/article/details/79104227