python跳跃小球

跳跃小球的关键就是要利用pychram中的pygame软件包;

1.下载pygame软件包,可以在pycharm终端输入此命令下载------pip install pygame

或者在pycharm设置中下载:

 2.初始化窗口界面

import sys
import pygame

pygame.init()  #初始化pygame
size=width,height=900,800  #设置窗口大小
screen=pygame.display.set_mode(size)  #显示窗口
color=(255,255,254)  #设置颜色

3.为了满足界面一直显示,并且手动可以进行关闭,我们需要设置一个死循环,直到手动关闭,循环终止;

while True:
    #将显示窗口视作一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        #如果手动点击关闭则退出
        if event.type==pygame.QUIT:
            pygame.quit()  #退出pygame
            sys.exit()

 4.接着就是初始化界面的背景,确定小球的区域,并导入小球的图片;

导入图片等素材,记得要把素材和项目放在一个文件夹中,否则会导入失败!

如果只改变界面的颜色,而不引用背景素材,可以利用color()函数

例:color(R,G,B/R,G,B,A)中含有三个参数,表示两种色彩模式:

color(255,255,255)------白色

color(0,0,0)----黑色

color(190,190,190)---灰色

color(0,100,0)---深绿色

color(255,215,0)----金色

color(238.130,238)----紫罗兰色

color(160,32,240)----紫色

import sys
import pygame

pygame.init()  #初始化pygame
size=width,height=900,800  #设置窗口大小
screen=pygame.display.set_mode(size)  #显示窗口
color=(255,255,254)  #设置颜色

background=pygame.image.load('mn.png').convert() #导入背景图片
ball=pygame.image.load('ball.png')  #导入小球图片
ballrect=ball.get_rect()  #获取矩形区域,小球所占的区域

5.最后就是给小球赋予横向和纵向的运行速度,并且考虑小球碰到边缘时需要反弹的情况,以及界面的时间;

speed=[5,5]  #设置移动的x轴和y轴
clock=pygame.time.Clock()  #设置时间

#设置死循环,确保窗口一直显示,直到手动关闭
while True:
    clock.tick(60)  #每秒执行60次
    #将显示窗口视作一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        #如果手动点击关闭则退出
        if event.type==pygame.QUIT:
            pygame.quit()  #退出pygame
            sys.exit()
    ballrect=ballrect.move(speed)  #移动小球
    #左右边缘碰撞的时候反弹
    if ballrect.left < 0 or ballrect.right > width:
        speed[0]=-speed[0]

    #上下边缘碰撞反弹
    if ballrect.top < 0 or ballrect.bottom > height:
        speed[1]=-speed[1]

    screen.fill(color)  #填充窗口颜色
    screen.blit(background,(0,0))
    screen.blit(ball,ballrect)  #将ball的照片填充到窗口
    pygame.display.flip()  #更新全部显示

最后就是完整代码:

import sys
import pygame

pygame.init()  #初始化pygame
size=width,height=900,800  #设置窗口大小
screen=pygame.display.set_mode(size)  #显示窗口
color=(255,255,254)  #设置颜色

background=pygame.image.load('mn.png').convert() #导入背景图片
ball=pygame.image.load('ball.png')  #导入小球图片
ballrect=ball.get_rect()  #获取矩形区域,小球所占的区域

speed=[5,5]  #设置移动的x轴和y轴
clock=pygame.time.Clock()  #设置时间

#设置死循环,确保窗口一直显示,直到手动关闭
while True:
    clock.tick(60)  #每秒执行60次
    #将显示窗口视作一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        #如果手动点击关闭则退出
        if event.type==pygame.QUIT:
            pygame.quit()  #退出pygame
            sys.exit()
    ballrect=ballrect.move(speed)  #移动小球
    #左右边缘碰撞的时候反弹
    if ballrect.left < 0 or ballrect.right > width:
        speed[0]=-speed[0]

    #上下边缘碰撞反弹
    if ballrect.top < 0 or ballrect.bottom > height:
        speed[1]=-speed[1]

    screen.fill(color)  #填充窗口颜色
    screen.blit(background,(0,0))
    screen.blit(ball,ballrect)  #将ball的照片填充到窗口
    pygame.display.flip()  #更新全部显示

运行截图:

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值