pygame项目一 物体移动

import pygame
import sys
from pygame.locals import * #导入所有的pygame变量,即不必再通过pygame.来调用
# 初始化pygame
pygame.init()
clock = pygame.time.Clock() 
size = width,height = 600,400   #相当于元组
speed = [-2,1]  #水平和垂直的偏移量
speedp = [-2,1]
bg = (255,255,255) #rgb 三个都为255时颜色为白色

#创建指定大小的窗口
screen = pygame.display.set_mode(size)
#设置窗口标题
pygame.display.set_caption("初次见面,请大家多多关照")

#加载图片
turtle = pygame.image.load("turtle.png")
pig = pygame.image.load("pig.png")
#获得图像的位置矩形
position = turtle.get_rect()   
positionp =pig.get_rect()
tl_head = turtle
tr_head = pygame.transform.flip(turtle,True,False)
pl_head = pig
pr_head = pygame.transform.flip(pig,True,False)
while True:
    for event in pygame.event.get():  #检测是否是退出时间
        if event.type == pygame.QUIT:
            sys.exit()
        if event.type == KEYDOWN:
            if event.key==K_LEFT:
                speed=[-3,0]
                turtle = tl_head
            if event.key==K_RIGHT:
                speed=[3,0]
                turtle = tr_head
            if event.key ==K_UP:
                speed=[2,-3]
            if event.key==K_DOWN:
                speed=[2,3]
            if event.key==K_a:
                speedp=[-2,0]
                pig = pl_head
            if event.key==K_d:
                speedp=[2,0]
                pig = pr_head
            if event.key ==K_w:
                speedp=[1,-2]
            if event.key==K_s:
                speedp=[1,2]

    #移动图像
    position = position.move(speed)
    positionp = positionp.move(speedp)
    if position.left<0 or position.right >width:
        #翻转图像
        turtle = pygame.transform.flip(turtle,True,False)
                                    #对象,是否水平翻转,是否垂直翻转
        speed[0]=-speed[0]

    if position.top<0 or position.bottom >height :
         speed[1]=-speed[1]
    if positionp.left<0 or positionp.right >width:
         pig = pygame.transform.flip(pig,True,False)
         speedp[0]=-speedp[0]
    if positionp.top<0 or positionp.bottom >height :
          speedp[1]=-speedp[1]

    #填充背景
    screen.fill(bg)
    #更新图像
    screen.blit(turtle,position)
    screen.blit(pig,positionp)
    #更新界面
    pygame.display.flip()
    # 延迟10 毫秒
    pygame.time.delay(10)
    clock.tick(200)       #设置帧率

猜你喜欢

转载自blog.csdn.net/dilly__dally/article/details/81202515
今日推荐