您的位置:首页 > 编程语言 > Python开发

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

2018-01-19 10:56 721 查看
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帧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐