Python努力学习第三天

今天我学会了如何在pygame创建的画布中使素材移动并碰壁反弹。
假如我做了一张10x10的小猪头照片pig.png

# coding:utf-8
import pygame  #调用pygame库
import time  #调用time库
import sys  #调用sys库
import easygui  #调用easygui库
from pygame.locals import *  #加载pygame在本地磁盘的所有功能
pygame.init()  #初始化运行
screen = pygame.display.set_mode((480, 650))  #创建窗口大小500*800
screen.fill((255,255,255))  #创建窗口背景颜色为255,255,255的RGB数据颜色
pygame.display.set_caption("碰壁反弹")  #创建窗口名"碰壁反弹"
pig=pygame.image.load("picture/pig.png")  #加载一个相对路径中的照片

#以下为探测:鼠标点击右上角关闭或键盘敲击ESC键时,执行程序的退出命令。
def handleEvent():
for event in pygame.event.get():
    if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE:
        pygame.quit()
        sys.exit()  

#添加素材
x=int(easygui.enterbox("输入小猪出生点x坐标"))  #利用easygui的输入窗口记录图片pig出生点坐标x
y=int(easygui.enterbox("输入小猪出生点y坐标"))  #利用easygui的输入窗口记录图片pig出生点坐标y
xspend=3  #设置图片横向移动速度为3像素/次
yspend=3  #设置图片纵向移动速度为3像素/次
while True:
	screen.blit(pig,(x,y))  #将10x10的小猪图片以手动输入的xy坐标添加至窗口内
	x=x-xspend  #使x坐标减少3
	y=y+yspend  #使y坐标增加3
	time.sleep(0.01)  #使每0.01秒执行一次以上命令
	if x<0:  #碰到左边
    xspend=-3  #使图片触碰左边框线时,x速度变为-3每次,此处因为x-xspend,将会变为每秒增加x
    if y>790:  #因为图片占10x10,所以触碰下框线的标准要减去图片的长度10
    yspend=-3  #使图片触碰下边框线时,y速度变为-3每次,此处因为y-xspend,将会变为每秒减少y
	if x>423:  #因为图片占10x10,所以触碰右框线的标准要减去图片的宽度10
    xspend=3  #此处是图片触碰右框线时重新恢复到x<0之前的状态,变为每秒减少x
    if y<0:  #碰到上面
    yspend=3  #此处是图片触碰上框线时重新恢复到y>790之前的状态,变为每秒减少x
    #可以看出,碰壁反弹是靠不同情况改变运行速度来达到目的的.
    pygame.display.update()  #更新屏幕内容
	handleEvent()  #实现def定义的监听功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值