一、小白如何用Pygame制作一款跑酷类游戏(成品展示+添加背景图和道路移动效果)

小白如何用Pygame制作一款跑酷类游戏


文章目录


前言

分享一个通过Pygame制作一款跑酷类游戏,其中包括剧情的设计,人物动作的设计(跳跃、滑行、疾跑),金币的障碍物的碰撞检测等。本篇文章主要介绍游戏的最终效果和开始的帧率、计时器、背景图以及道路滑动的设计。


一、游戏最终效果展示

小白如何用Pygame制作一款跑酷类游戏(成品展示)

提示:开始是剧情介绍,中间部分是游戏部分,最后也是剧情介绍





二、创建项目并加载pygame模块

1.创建项目

2.下载pygame模块

方法1.通过终端命令行pip install pygame

方法2.在设置-项目-python解释器-添加软件包-搜索Pygame

3. 项目结构安排

提示:创建新的包来存放游戏所需的音乐以及图片资源

三、添加背景图和实现道路移动效果

1.引入库

python 复制代码
import pygame

2.窗口设置和资源加载

python 复制代码
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((1080, 600))
pygame.display.set_caption('跑酷游戏')
#背景图
bg_image_path1 = 'material/image/background4.jpg'
bg_img_obj1 = pygame.image.load(bg_image_path1).convert_alpha()
#道路图
road_image_path= 'material/image/road1.png'
road_img_obj=pygame.image.load(road_image_path).convert_alpha()

3.游戏主循环和程序入口

通过下述代码可以实现,道路从右向左不断移动

python 复制代码
def init():
    fps = 60
    running = True
    index = 0
    left = 0
    right = 1080
    margin = 3
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
        screen.blit(bg_img_obj1, (0, 0))
        screen.blit(road_img_obj, (left, 465))
        screen.blit(road_img_obj, (right, 465))
        if left<=-1080:
            left=left+2160
        if right<=-1080:
            right=right+2160
        index += 1
        pygame.display.update()
        clock.tick(fps)
        left -= margin
        right -= margin
if __name__=="__main__":
    init()

原理分析:如下图所示,黑色框是游戏展示的框宽度为1080,那么会移动的路就是选择一张可以首尾相连的图片,将这个图片分别贴在0和1080的位置,并让这两张图片每帧3像素的向左移动,当左边的图片的做边界为-1080时,那么把这张图片放置在右边部分也就是设置为1080像素,同理原先在右边的图片现在变成了左边并且已经完全进入了游戏边框内。通过这种方式,利用两张图片就可以实现道路的不断向左移动。

4.实现效果

实现效果

相关推荐
蹦蹦跳跳真可爱5892 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij2 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
雷羿 LexChien2 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
敲键盘的小夜猫3 小时前
LLM复杂记忆存储-多会话隔离案例实战
人工智能·python·langchain
深海潜水员3 小时前
【Behavior Tree】-- 行为树AI逻辑实现- Unity 游戏引擎实现
游戏·unity·c#
高压锅_12203 小时前
Django Channels WebSocket实时通信实战:从聊天功能到消息推送
python·websocket·django
群联云防护小杜4 小时前
构建分布式高防架构实现业务零中断
前端·网络·分布式·tcp/ip·安全·游戏·架构
胖达不服输5 小时前
「日拱一码」020 机器学习——数据处理
人工智能·python·机器学习·数据处理
吴佳浩5 小时前
Python入门指南-番外-LLM-Fingerprint(大语言模型指纹):从技术视角看AI开源生态的边界与挑战
python·llm·mcp
吴佳浩5 小时前
Python入门指南-AI模型相似性检测方法:技术原理与实现
人工智能·python·llm