我是靠谱客的博主 成就冬天,最近开发中收集的这篇文章主要介绍Python自学第十八天——飞机大战项目实践(一)一、项目资源和素材二、项目设计三、开始项目,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作为新手自学Python的第十八天,技术低微,希望可以通过这种方式督促自己学习。

个人学习环境:python3.9,PyCharm 2021.3.2 (Community Edition)


利用python完成飞机大战是一个非常经典的练手项目,本次完成基础构件下载安装、整体设计、及窗体绘制。


一、项目资源和素材

项目资源和素材来源于网上找的黑马程序员飞机大战的素材包,下载后熟悉下图片命名已被后期调用。

在《飞机大战》游戏中,除了Python基本知识外,我们还需要一个Python用来编写游戏的模块——Pygame。

Pygame可以用来管理图形、动画以及声音。

(一)安装Pygame

1、首先要确定自己计算机中已经安装好python及pip。

2、在终端中使用如下命令安装Pygame。

pip install pygame

二、项目设计

为了便于我们理解,我们把整个项目分成5个部分:

  1. 窗口的绘制(windows的窗口),即整个游戏的架子及窗口的样式。将这部分包含在run_game函数中。

  2. 我方飞机的制作。生成我方小飞机,实现飞机的移动、射击等操作。将这部分单独设计一个Hero类完成相应功能。

  3. 子弹的制作。从整体而言,子弹是单独的一部分,因为它有其自己的行为。将这部分单独设计一个Bullet类完成子弹功能。

  4. 敌机的制作。和第二部分类似,不过功能不同。将这部分单独设计一个Enemy类完成功能。

  5. 碰撞的检测。此部分较抽象,属于第一部分的一部分,但需要第二、三点的支撑。将它加入第一部分。

三、开始项目

(一)绘制窗体

先创建一个函数run_game完成相应的窗体绘制。

思路为:创建一个Pygame窗口,设置背景图片,调用函数完成绘制。

# 导入pygame库
import pygame
# 导入pygame库中的一些常量
from pygame.locals import *
# 导入sys库中的exit函数
from sys import exit
​
def run_game():
    # 定义窗口的分辨率
    SCREEN_WIDTH = 480
    SCREEN_HEIGHT = 640
​
    # 初始化游戏
    pygame.init()   # 初始化 pygame
    screen = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT]) # 初始化窗口
    pygame.display.set_caption('飞机大战')  # 设置窗口标题
​
    # 载入背景图
    background = pygame.image.load('./image/background.png')
​
    # 事件循环(main loop)
    while True:
        
        # 绘制背景
        screen.blit(background,(0, 0))
        
        # 更新屏幕
        pygame.display.update()
        
        # 处理游戏退出
        # 从消息队列中循环取
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()
run_game()

注意:

  • while循环是控制游戏的。在Pygame中,(0, 0)是屏幕的左上角向下移动时y轴坐标逐渐增大,向右移动时x轴坐标逐渐增大。调用pygame.display.update()是将刚刚位置的背景图刷新显示在窗体中。

  • 为了访问Pygame检测到的事件,使用方法pygame.event.get()。在Pygame中,键盘和鼠标的触发都会促使for循环的运行,当检测到pygame.QUIT时,调用exit()退出游戏。

此次我们完成窗体的绘制,下一次我们完成飞机的生成。

图片素材放入网盘:

链接:https://pan.baidu.com/s/1WjRd0PHR9zb55NT5Pafm5w?pwd=a3k6 
提取码:a3k6

最后

以上就是成就冬天为你收集整理的Python自学第十八天——飞机大战项目实践(一)一、项目资源和素材二、项目设计三、开始项目的全部内容,希望文章能够帮你解决Python自学第十八天——飞机大战项目实践(一)一、项目资源和素材二、项目设计三、开始项目所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部