当前位置: 首页 > news >正文

二、小白如何用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响起
在这里插入图片描述

相关文章:

  • 【Kubernetes基础--Pod深入理解2】--查阅笔记3
  • JavaScript事件循环
  • Qt实现文件传输客户端(图文详解+代码详细注释)
  • WPF 图标原地旋转
  • 4.16学习总结 IO流综合练习
  • 新闻业务--草稿箱
  • 坚持每日Codeforces三题挑战:Day 3 - 题目详解(2024-04-16,难度:900, 1200, 1200)
  • 库洛游戏一面+二面
  • C#中同步任务和异步任务
  • 【计算机网络】3数据链路层①
  • Mathematica 中,将含有小数的表达式转换为整数或分数形式
  • springboot异步线程事务丢失
  • MAC-​​基于 Spring 框架的高并发批量任务处理方案​
  • 【AI】SpringAI 第二弹:接入 DeepSeek 官方服务
  • Spring Boot系列之使用Arthas Tunnel Server 进行远程调试实践
  • CTF--好像需要管理员
  • gemini讲USRP
  • 【Java】时间区间内按天、周、月份索引后缀计算方法
  • 通过金融科技(Fintech)掌控财务:智能理财管理指南
  • Design Compiler:转换时间过渡调整
  • 黄石做网站建设的/百度排名点击器
  • 哪个网站建设公司/网络推广营销方案100例
  • 做网站在阿里云上面买哪个服务/快速排名优化
  • 电子商务网站建设与管理答案b/流量精灵官网
  • 怎么用网站做文案/自己搭建网站需要什么
  • 厦门网页制作厦门小程序app/seo管理工具