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

时间:2022-10-19 14:20:20

一、实现逻辑

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

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

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

二、核心逻辑代码解析

(一)加载图像到list列表

?
1
2
3
4
5
6
7
8
9
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实现

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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()  # 刷新窗口

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

?
1
2
3
4
5
6
7
8
9
10
11
12
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主入口实现

?
1
2
3
if __name__ == '__main__':
    init_image()
    run()

三、完整代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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()

四、运行效果

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

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

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

原文链接:https://blog.csdn.net/dhjabc_1/article/details/117334495