利用pygame写星球大战小游戏

前段时间学了pygame,这两天写一个星球大战小游戏,今天准备分享出来。
开发工具: python3.8、pycharm
代码注释超级详细,在这里就废话不多说了,请看代码!

# 导入相关模块及库
import pygame
import sys
import random
import math

# 1.初始化界面
pygame.init()
# 设置窗口大小
size = width, height = 800, 600
screen = pygame.display.set_mode(size)
# 设置游戏名称
pygame.display.set_caption('星球大战')
# 游戏图标
icon = pygame.image.load('ufo.png')
pygame.display.set_icon(icon)

# 3.游戏背景
bgImg = pygame.image.load('bg.png')

# 4.玩家图片
playerImg = pygame.image.load('player.png')
playerX = 400  # X轴设为400
playerY = 530  # Y轴设为530
# 7.设置玩家移动速度
playerStep = 0


def move_player():  # 玩家移动
    # 5.设置玩家移动速度
    global playerX
    playerX += playerStep

    # 6.防止玩家出界
    if playerX > 736:
        playerX = 736
    if playerX < 0:
        playerX = 0


# 8.敌人
# enemyImg = pygame.image.load('enemy.png')
# enemyX = random.randint(100,600)  # X轴随机出现在100~600
# enemyY = random.randint(30,150)   # Y轴随机出现在30~150
# enemyStep = 1  # 9.设置敌人移动速度


# 11.添加多个敌人
number_of_enemies = 6  # 敌人总数


class Enemy():  # 定义敌人类
    def __init__(self):
        self.img = pygame.image.load('enemy.png')
        self.x = random.randint(100
要用Pygame一个小游戏,首先需要了解Pygame的基本结构以及如何初始化、处理事件和更新屏幕内容。以下是构建小游戏的一般步骤: 1. **安装并导入Pygame** 首先确保已安装`pygame`库。如果尚未安装可以运行命令 `pip install pygame` 进行安装。然后,在Python脚本开始处引入模块: ```python import pygame ``` 2. **初始化Pygame环境** 初始化所有必需的子模块,并设置窗口大小等基础配置。 ```python pygame.init() # 设置屏幕尺寸 screen = pygame.display.set_mode((800, 600)) # 标题与背景颜色 pygame.display.set_caption("我的第一个小游戏") background_color = (0, 0, 0) # 黑色背景 running = True clock = pygame.time.Clock() # 创建时钟对象控制帧率 ``` 3. **主循环(Game Loop)** 游戏的核心是一个持续运行直到特定条件结束的大循环。在这个循环内完成所有的事件监听、状态更新及渲染工作。 4. **绘制元素到屏幕上** 可以通过加载图片资源或直接绘画图形等方式将游戏角色添加至场景中。 ```python def draw_elements(): screen.fill(background_color) # 示例 - 绘制矩形作为简单的玩家角色 player_rect = pygame.Rect(50, 50, 50, 50) pygame.draw.rect(screen, (255, 0, 0), player_rect) pygame.display.flip() # 刷新显示表面的内容 ``` 5. **捕获用户输入** 使用`for event in pygame.event.get()`获取用户的键盘按键或其他交互操作;同时也可以检测鼠标位置变动等情况。 ```python while running: for event in pygame.event.get(): if event.type == pygame.QUIT: # 如果点击关闭按钮,则退出程序 running = False keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: print("向左移动") elif keys[pygame.K_RIGHT]: print("向右移动") draw_elements() clock.tick(60) # 控制每秒刷新次数为60次 ``` 6. **终止程序** 当满足一定条件下跳出循环后记得清理资源并且停止整个应用程序。 ```python pygame.quit() ``` 按照上述流程即可创建出一个基本的小型游戏框架。从这里出发你可以进一步丰富游戏功能比如加入更多敌人、碰撞检测机制等等复杂逻辑。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao阿文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值