专栏首页一个会写诗的程序员的博客Python 使用 pygame 实现一个简单的动画

Python 使用 pygame 实现一个简单的动画

首先安装pygame库:

$ sudo pip install pygame

测试安装效果:

#导入pygame模块
import pygame
#初始化pygame
pygame.init()
#创建舞台,利用Pygame中的display模块,来创建窗口
screen = pygame.display.set_mode((640,480),0,32)
#设置窗口标题
pygame.display.set_caption("Hello PyGame")

这个时候大家运行就能得到一个窗口但是窗口一闪而过。

#导入pygame模块
import pygame
#初始化pygame
pygame.init()
#创建舞台,利用Pygame中的display模块,来创建窗口
screen = pygame.display.set_mode((640,480),0,32)
#设置窗口标题
pygame.display.set_caption("Hello PyGame")
while 1:
    for event in pygame.event.get():
    #这段程序大家可能比较费解,实际上是检测quit事件
        if event.type == pygame.QUIT:
            pygame.quit()

实现一个左右滚动的小猫:

image.png

直接上代码:

# 导入pygame模块
import pygame

# 初始化pygame
pygame.init()
width = 844
height = 689
speed = 10
# 创建舞台,利用Pygame中的display模块,来创建窗口
screen = pygame.display.set_mode((width, height), 0, 32)
# 设置窗口标题
pygame.display.set_caption("Hello PyGame")

# 我的cat.png和cat.py文件在同一个文件夹下面
# 所以可以直接这样加载图片的
# laod函数加载图片
cat = pygame.image.load("cat.jpg")
print(cat)
cat_x, cat_y = 0, 0  # 猫的坐标
h_direction = 1  # 水平方向

while 1:
    for event in pygame.event.get():
        # 这段程序大家可能比较费解,实际上是检测quit事件,实际讲课中让学生直接模仿即可,时间足够也可以讲明白
        if event.type == pygame.QUIT:
            pygame.quit()

    # blit函数的作用是把加载的图片放到舞台的(cat_x, cat_y)坐标的位置
    screen.blit(cat, (cat_x, cat_y))
    # 这样就实现了会移动的猫
    cat_x += speed * h_direction
    # 如果猫的坐标超出了640,就让小猫反向
    # 如果猫的坐标小于了0,也让小猫反向,这样就实现了碰到墙壁反弹的效果
    if cat_x > width:
        h_direction = -h_direction
    elif cat_x < 0:
        h_direction = -h_direction
    pygame.display.update()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 科德十二定律(Codd's 12 rules):关系数据库

    科德十二定律(Codd's 12 rules)是由数据库的关系模型的先驱埃德加·科德(Edgar F. Codd)提出的,使数据库管理系统关系化需满足的十三条(...

    一个会写诗的程序员
  • Spring Boot中使用 Swagger2 自动构建API文档

    https://github.com/swagger-api/swagger-ui

    一个会写诗的程序员
  • JVMTM Tool Interface:JVM源码分析之javaagent原理完全解读

    本文重点讲述javaagent的具体实现,因为它面向的是我们Java程序员,而且agent都是用Java编写的,不需要太多的C/C++编程基础,不过这篇文章里也...

    一个会写诗的程序员
  • 【Pygame 第1课】 hello pygame

    我们已经把python的基本内容讲得差不多了,所以从今天起,尝试一下新的方面:pygame -- 用python来写游戏。 pygame是一个python的游戏...

    Crossin先生
  • 16 Python 基础: 重点知识点--Pygame的基础知识梳理

    本文首发于腾讯云+社区,也可关注微信公众号【离不开的网】支持一下,就差你的关注支持了。

    小Gy
  • pygame系列_pygame的各模块叙述

    在pygame中,有很多模块,每个模块对应着不同的功能,如果我们知道这些模块是做什么的,那么,对我们的游戏开发会起到关键性的作用。

    Hongten
  • pygame-游戏开发学习笔记(二)–模块表与背景图样例。

    if pygame.font is None: print "The font module is not available!" exit()

    十四君
  • Python 项目实践一(外星人入侵)第一篇

    python断断续续的学了一段实践,基础课程终于看完了,现在跟着做三个小项目,第一个是外星人入侵的小游戏: 一 Pygame pygame 是一组功能强大而有趣...

    用户1198337
  • 【pygame系列 第二课 狮子动画 】

    python我们可以做文字版的游戏,比如猜数字游戏,21点游戏。那python可以做图形界面的游戏吗?偷偷告诉你,用pygame库就可以实现了。pygame是p...

    用户7054460
  • pygame游戏常用方法

    python做2d游戏,用的最多的就是pygame库,虽然比较老了,但是非常经典。尽管现在有很多其它游戏的库,可是都封装的比较多了,很多非常重要的细节都被隐藏了...

    用户7054460

扫码关注云+社区

领取腾讯云代金券