欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 二、小白如何用Pygame制作一款跑酷类游戏(主角和背景音乐的添加)

二、小白如何用Pygame制作一款跑酷类游戏(主角和背景音乐的添加)

2025/4/19 12:17:17 来源:https://blog.csdn.net/qq_43646281/article/details/147270867  浏览:    关键词:二、小白如何用Pygame制作一款跑酷类游戏(主角和背景音乐的添加)

二、小白如何用Pygame制作一款跑酷类游戏(主角和背景音乐的添加)


文章目录

  • 二、小白如何用Pygame制作一款跑酷类游戏(主角和背景音乐的添加)
  • 前言
  • 一、创建新的目录并存放主角人物素材和背景音乐
  • 二、代码部分
    • 1.创建一个主角精灵的python文件命名为Myself.py
    • 2.runner_main方法添加主角精灵和背景音乐
    • 3.runner_main方法的所有代码
  • 三、最终的效果


前言

分享一个通过Pygame制作一款跑酷类游戏,其中包括剧情的设计,人物动作的设计(跳跃、滑行、疾跑),金币的障碍物的碰撞检测等。
本篇文章主要介绍游戏的主角和背景音乐的添加


一、创建新的目录并存放主角人物素材和背景音乐

素材资源放在了
主角走路素材
https://download.csdn.net/download/qq_43646281/90626905
可免费下载,但是图片来自于网络资源不可商用。

在这里插入图片描述
背景音乐可以自行去爱给网选择自己喜欢的bgm
一个可以免费下载音乐和音效的网站: 爱给网
下载好之后存放在
在这里插入图片描述

二、代码部分

1.创建一个主角精灵的python文件命名为Myself.py

在这里插入图片描述

代码如下:

import pygameclass Myself(pygame.sprite.Sprite):def __init__(self):super(Myself, self).__init__()self.image = pygame.image.load('material/image/myself/walk/1.PNG').convert_alpha()self.walk = [pygame.image.load('material/image/myself/walk/{:d}.PNG'.format(i)).convert_alpha() for i inrange(1, 8)]self.rect = self.walk[0].get_rect()self.rect.top=400self.rect.left=200def update(self, *args):if args[0] % 6 == 0:i = int(args[0] / 6)self.image=self.walk[i % len(self.walk)

2.runner_main方法添加主角精灵和背景音乐

from Myself import Myself
import os

初始化

myself = Myself()
pygame.mixer.music.load(os.path.join('material/music', 'bgm1.mp3'))
pygame.mixer.music.play(-1)

主循环中绘制主角

screen.blit(myself.image,myself.rect)
myself.update(index)

3.runner_main方法的所有代码


import pygame
from Myself import Myself
import ospygame.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()
def init():fps = 60running = Trueindex = 0left = 0right = 1080margin = 3myself = Myself()pygame.mixer.music.load(os.path.join('material/music', 'bgm1.mp3'))pygame.mixer.music.play(-1)while running:for event in pygame.event.get():if event.type == pygame.QUIT:running = Falsescreen.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+2160if right<=-1080:right=right+2160screen.blit(myself.image,myself.rect)myself.update(index)index += 1pygame.display.update()clock.tick(fps)left -= marginright -= margin
if __name__=="__main__":init()

三、最终的效果

此处有bgm响起
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词