Python趣味挑战之用pygame实现简单的金币旋转效果

 更新时间:2021年05月31日 11:09:15   作者:dhjabc_1  
今天教大家怎么用pygame实现简单的金币旋转效果,文中有非常详细的代码示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下

一、实现逻辑

step1、保存图像到list列表。
step2、在主窗口每次显示一张list列表中的对象。

呵呵,好像就这么简单。所以,主要还是要有图片。
这里也分享一下图片给大家。

在这里插入图片描述

二、核心逻辑代码解析

(一)加载图像到list列表

def init_image():
    path = './score/'
    files = []
    dirs = os.listdir(path)
    for diretion in dirs:
        files.append(path + diretion)

    for file in files:
        bglist.append(pygame.image.load(file).convert_alpha())

(二)循环函数run实现

def run():
    i = 0
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT or event.type == pygame.K_F1:
                pygame.quit()
                sys.exit()
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    pygame.quit()
                    sys.exit()
        screen.fill((0, 0, 0))  # 设置背景为白色
        screen.blit(bglist[i % 7], (50, 50))
        print(bglist[i % 7].get_size())
        i += 1
        fcclock.tick(fps)
        pygame.display.flip()  # 刷新窗口

(三)相关库引入及变量初始化

import sys, pygame
import os
import random
import time

pygame.init()  # 初始化pygame类
screen = pygame.display.set_mode((600, 600))  # 设置窗口大小
pygame.display.set_caption('金币翻转小游戏V1.0')  # 设置窗口标题
tick = pygame.time.Clock()
fps = 10  # 设置刷新率,数字越大刷新率越高
fcclock = pygame.time.Clock()
bglist = []

(四)main主入口实现

if __name__ == '__main__':
    init_image()
    run()

三、完整代码

import sys, pygame
import os
import random
import time

pygame.init()  # 初始化pygame类
screen = pygame.display.set_mode((600, 600))  # 设置窗口大小
pygame.display.set_caption('金币翻转小游戏V1.0')  # 设置窗口标题
tick = pygame.time.Clock()
fps = 10  # 设置刷新率,数字越大刷新率越高
fcclock = pygame.time.Clock()
bglist = []

def init_image():
    path = './score/'
    files = []
    dirs = os.listdir(path)
    for diretion in dirs:
        files.append(path + diretion)

    for file in files:
        bglist.append(pygame.image.load(file).convert_alpha())

def run():
    i = 0
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT or event.type == pygame.K_F1:
                pygame.quit()
                sys.exit()
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    pygame.quit()
                    sys.exit()
        screen.fill((0, 0, 0))  # 设置背景为白色
        screen.blit(bglist[i % 7], (50, 50))
        print(bglist[i % 7].get_size())
        i += 1
        fcclock.tick(fps)
        pygame.display.flip()  # 刷新窗口

if __name__ == '__main__':
    init_image()
    run()

四、运行效果

在这里插入图片描述

OK,完成了,比较简单,大家都学会了吗?

到此这篇关于Python趣味挑战之用pygame实现简单的金币旋转效果的文章就介绍到这了,更多相关pygame实现金币旋转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python禁止位置传参函数详解

    python禁止位置传参函数详解

    文章介绍了Python3.x中的关键字参数特性,说明了如何在函数定义中使用*符号来限制参数只能通过关键字传递,而不是位置,这种特性在处理参数较多或顺序可能导致混淆的函数时特别有用,提高了代码的可读性和健壮性
    2024-11-11
  • Python使用OpenCV对彩色图像进行通道分离的项目实践

    Python使用OpenCV对彩色图像进行通道分离的项目实践

    通道分离是将彩色图像的每个像素分解为三个通道(红、绿、蓝)的过程,本文主要介绍了Python使用OpenCV对彩色图像进行通道分离的项目实践,感兴趣的可以了解一下
    2023-08-08
  • 剖析Python的Tornado框架中session支持的实现代码

    剖析Python的Tornado框架中session支持的实现代码

    这篇文章主要介绍了剖析Python的Tornado框架中session支持的实现代码,这样就可以使用Django等框架中大家所熟悉的session了,需要的朋友可以参考下
    2015-08-08
  • 从零学Python之入门(三)序列

    从零学Python之入门(三)序列

    今天比较清闲,多写几篇入门篇,本文是入门系列的第三篇,我们来学习下Python中的序列。
    2014-05-05
  • 详解Python中的List 2

    详解Python中的List 2

    这篇文章主要为大家介绍了Python中的List,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 在Python中使用正则表达式的方法

    在Python中使用正则表达式的方法

    这篇文章主要介绍了在Python中使用正则表达式的方法,讲到了专门对正则表达式提供支持的扩展库re,需要的朋友可以参考下
    2015-08-08
  • Python批量转换文件编码格式

    Python批量转换文件编码格式

    需要将工作目录下的文件进行转码,开始的编码是GBK的,需要将其转换为utf-8的。文件较多,手动转换肯定不行,用Python写个脚本来实现。
    2015-05-05
  • 使用Matplotlib制作动态图的示例详解

    使用Matplotlib制作动态图的示例详解

    matplotlib是一个著名的python绘图库,由于其灵活强大的绘图功能使得在python中可视化变得非常容易,本文主要介绍了在matplotlib库中制作动态图的方法,需要的可以参考一下
    2023-06-06
  • Python基础之数据类型相关知识总结

    Python基础之数据类型相关知识总结

    众所周知,在Python中,常用的数据类型有三种,分别是字符串、整数和浮点数.在Python基础学习的过程中,数据类型是初学者常常容易混淆的一个基础知识点,本文为大家详细总结了三种数据类型的概念、数据类型的查询以及更为复杂的数据转化,需要的朋友可以参考下
    2021-06-06
  • python动态网页批量爬取

    python动态网页批量爬取

    这篇文章主要介绍了python动态网页批量爬取的方法,主要针对四六级成绩批量爬取,感兴趣的小伙伴们可以参考一下
    2016-02-02

最新评论