学习小甲鱼的第79个,第80个视频----pygame初见

简介: 学习小甲鱼的第79个,第80个视频----pygame初见

代码


功能: 实现图片在窗口移动


import pygame
import sys      # 退出程序要用,  sys.exit()
pygame.init()   # 初始化Pygame
size = width, height = 800, 600    # 窗口尺寸
speed = [-2, 1]       # 移动速度,  x轴减2,y轴加1
bg = (255, 255, 255)  # RGB 白色,背景颜色
"""1.先初始化游戏,pygame.init() 
   2.再绘制窗口,pygame.display.set_mode()
   3.再取窗口名字,pygame.display.set_caption()
   4.再加载进来图片,pygame.image.load()
   5.获取图片所在的矩形位置,turtle.get_rect()
   6.循环事件"""
# 创建指定大小的窗口 Surface,在前面
screen = pygame.display.set_mode(size)
# 设置窗口标题
pygame.display.set_caption("小黑黑打架吗")
# 加载图片,    .image.load()
turtle = pygame.image.load("18.gif")
# 获得图像的位置矩形, 移动就是修改位置
position = turtle.get_rect()
# 死循环
"""1.pygame.event.get()获取所有事件,先遍历事件
   2.如果pygame.QUIT,则退出游戏
   3.position.move()  图像矩形位置
   4.判断撞墙
   5.填充背景颜色,screen.fill(bg)
   6.更新图像位置,screen.blit(turtle, position)
   7.刷新画面,pygame.display.flip()
   8.延迟,pygame.time.delay(10)
"""
while True:
    for event in pygame.event.get():   # 遍历所有实践,.event.get()获取所有事件
        if event.type == pygame.QUIT:  # ×掉窗口
            sys.exit()                 # 退出程序
    # 移动图像,即修改位置,speed在前面,speed = [-2, 1],x每次减2,y每次加1
    position = position.move(speed)   # .move()  函数移动,移动图像矩形位置
    # 如果左边小于0,右边大于窗口宽度,即碰到左右边界
    if position.left < 0 or position.right > width:
        # 翻转图像
        turtle = pygame.transform.flip(turtle, True, False)  # 水平翻转,垂直不翻转
        # 反方向移动
        speed[0] = -speed[0]    # 改左右方向
    # 如果上边小于0,下边大于高度,即碰到上下边界
    if position.top < 0 or position.bottom > height:
        speed[1] = -speed[1]    # 改上下方向
    """移动图像就是调用 move()方法,事实上就是修改矩形范围的位置。x轴减2,y轴加1。
       移动之后,我们使用 fill()方法将画布背景填充为白色,
       我们再使用blit()方法将移动后的小蛇贴到画布上,最后更新、延迟。"""
    # 填充背景颜色
    screen.fill(bg)
    # 更新图像,即更新位置,   blit()就是将图像画到另外一个图像上
    screen.blit(turtle, position)
    # 更新界面,刷新画面    display.flip()
    pygame.display.flip()
    # 延迟10毫秒,          time模块里面的delay
    pygame.time.delay(10)


效果: 因为是动态,这里只截取一张图



推荐阅读博客


以下博客真的nb


博客一


博客二

目录
相关文章
|
6月前
|
Python
python小项目之利用pygame实现代码雨动画效果(附源码 可供学习)
python小项目之利用pygame实现代码雨动画效果(附源码 可供学习)
187 1
|
安全 Shell Python
14天学习训练营之 初识Pygame
14天学习训练营之 初识Pygame
172 1
14天学习训练营之 初识Pygame
|
Python
python pygame 愤怒的小鸟 (学习阶段-感谢支持)
python pygame 愤怒的小鸟 (学习阶段-感谢支持)
247 0
python pygame 愤怒的小鸟 (学习阶段-感谢支持)
|
编解码 Python
14天学习训练营之 入门Pygame
14天学习训练营之 入门Pygame
114 0
14天学习训练营之 入门Pygame
|
Python
学习小甲鱼的第81个视频---pygame事件
学习小甲鱼的第81个视频---pygame事件
81 0
学习小甲鱼的第81个视频---pygame事件
|
Python 容器
【pygame学习+实战】第二篇:怀旧——飞机大战
我第一次见到飞机大战是在我小学五年级下半学期的时候(2020年),这个游戏中可以说包含了几乎所有我目前可接触到的pygame知识。
|
6月前
|
Python
Python使用pygame播放MP3
Python使用pygame播放MP3
90 0
|
3月前
|
定位技术 Python
【python】python基于pygame坦克大战游戏设计(源码+图像+操作说明)【独一无二】
【python】python基于pygame坦克大战游戏设计(源码+图像+操作说明)【独一无二】
|
3月前
|
Linux iOS开发 MacOS
【Python】Python基于Pygame疯狂赛车游戏设计(源码+报告)【独一无二】
【Python】Python基于Pygame疯狂赛车游戏设计(源码+报告)【独一无二】
|
3月前
|
Python
【python】python基于pygame弹珠游戏设计(源码)【独一无二】
【python】python基于pygame弹珠游戏设计(源码)【独一无二】