pygame征途:(一)图片移动反弹

本文介绍如何使用Python的Pygame库实现图片在画布上移动并碰到边界反弹的效果,包括图片翻转及方向改变等细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目大意:

就是弄一张图片在背景画布上移动,然后碰到边界就图片翻转并且反向移动

基本思路:

需要pygame常用的一些常用的函数,然后基本就是在背景画布上blit一张图片,然后移动就是先全刷成背景画布,然后在内存里绘制移动后位置的图片,然后整个绘制像素到背景画布上

#surface对象就是图像对象,背景画布也是surface对象
#图像移动就是将该图像在背景画布上的位置上的像素点改成该图像对应的像素点
#帧率是每秒刷过的图像数量
#pygame支持40~200帧
'''
控制游戏速度常用方法:
clock=pygame.time.Clock()
clock.tick(200)
以200帧的速度运行
'''
#记得要把图片放到工程文件夹里
import pygame
import sys

#初始化python
pygame.init()

size=width,height=600,400
speed=[-2,1]
bg=(255,255,255)

#创建指定大小的窗口
screen=pygame.display.set_mode(size)
#设置窗口标题
pygame.display.set_caption("初次见面,请大家多多指教")
#加载图片
img=pygame.image.load('maomi.png')
#获得图像的矩形位置
position=img.get_rect()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    #移动图像
    position=position.move(speed)

    if position.left<0 or position.right>width:
        #翻转图像:
        img=pygame.transform.flip(img,True,False)
        #反方向移动
        speed[0]=-speed[0]

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

    #填充背景
    screen.fill(bg)
    #更新图像
    screen.blit(img,position)
    #更新界面
    pygame.display.flip()
    #延迟10毫秒
    pygame.time.delay(10)


mainloop()

  

 

 

转载于:https://www.cnblogs.com/imzscilovecode/p/8622233.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值