王剑编程网

分享专业编程知识与实战技巧

Pygame游戏开发 制作小游戏原来这么有趣呀

Pygame游戏开发 制作小游戏原来这么有趣呀

大家好呀~今天小妹要和小伙伴们一起探索好玩的Pygame游戏开发啦!作为一个超爱玩游戏的程序媛,我觉得最有趣的就是用Python自己动手做游戏了。Pygame是Python最受欢迎的游戏开发模块之一,用它可以轻松创建2D游戏哦。今天就让我带大家制作一个简单的太空飞船射击游戏吧!

准备工作

首先要安装Pygame模块呢,在命令行输入下面的指令就可以啦:


pip install pygame

创建游戏窗口

游戏开发第一步就是创建一个漂亮的游戏窗口,这是我们的游戏舞台哦~


import pygame

import sys



# 初始化Pygame

pygame.init()



# 设置窗口大小

screen_width = 800

screen_height = 600

screen = pygame.display.set_mode((screen_width, screen_height))



# 设置窗口标题

pygame.display.set_caption("太空冒险")



# 设置背景颜色(深蓝色)

bg_color = (0, 0, 50)

小贴士:pygame.init()要记得放在最前面哦,它会初始化所有Pygame需要的模块~

创建飞船类

接下来我们来创建游戏的主角 - 可爱的太空飞船!


class Ship:

    def __init__(self, screen):

        self.screen = screen

        

        # 飞船的初始位置

        self.x = screen_width // 2

        self.y = screen_height - 50

        

        # 飞船的移动速度

        self.speed = 5

        

        # 创建一个简单的矩形代表飞船

        self.rect = pygame.Rect(self.x, self.y, 40, 40)

        

    def draw(self):

        # 绘制飞船(白色)

        pygame.draw.rect(self.screen, (255, 255, 255), self.rect)

        

    def move(self):

        # 获取键盘按键状态

        keys = pygame.key.get_pressed()

        

        # 左右移动

        if keys[pygame.K_LEFT] and self.rect.left > 0:

            self.rect.x -= self.speed

        if keys[pygame.K_RIGHT] and self.rect.right < screen_width:

            self.rect.x += self.speed

游戏主循环

现在来写游戏的核心部分,让一切动起来!


def run_game():

    ship = Ship(screen)

    clock = pygame.time.Clock()

    

    while True:

        # 处理游戏事件

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                pygame.quit()

                sys.exit()

        

        # 移动飞船

        ship.move()

        

        # 填充背景色

        screen.fill(bg_color)

        

        # 绘制飞船

        ship.draw()

        

        # 更新屏幕

        pygame.display.flip()

        

        # 控制游戏帧率

        clock.tick(60)



# 启动游戏

run_game()


注意事项:

  1. pygame.display.flip()要在所有绘制完成后调用,它会更新整个游戏画面。
  2. clock.tick(60)可以控制游戏的帧率,这里设置为60帧每秒。

添加小功能

想让游戏更好玩,我们可以添加这些有趣的功能:

  • 发射激光
  • 添加敌人
  • 计分系统
  • 音效和背景音乐
  • 游戏结束画面

练习小任务:

  1. 试试给飞船添加上下移动功能
  2. 为飞船设计一个炫酷的造型
  3. 添加简单的生命值系统

小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问我哦。一起来创造属于自己的游戏世界吧!祝大家学习愉快,Python学习节节高!

进阶建议:

  • 学习Pygame的sprite系统
  • 探索碰撞检测功能
  • 尝试添加动画效果
  • 研究如何添加音效
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言