首页 > 编程语言 >Python小游戏——外星人入侵(保姆级教程)第一章 01 02

Python小游戏——外星人入侵(保姆级教程)第一章 01 02

时间:2022-08-19 17:47:52浏览次数:120  
标签:02 01 Python 创建 screen pygame 屏幕 230 display

系列文章目录

第一章:武装飞船

01:创建Pygame窗口以及响应用户输入
02:创建设置类Setting()

一、前期准备

1.语言版本

Python3.9.0

2.编译器

Pycharm2022

3.下载Pygame

点击下方链接查看B站下载教程

如何在 Windows 给 Python 安装 Pygame 模块(含Pycharm安装模块方法)

1、点击文件后找到设置并点击

image

2、找到项目:下的Python解释器并点击

image

3、点击+号搜索pygame并安装软件包

image

二、代码及演示

1.创建Pygame窗口以及响应用户输入

创建文件:alien_invasion.py

点击查看代码
#渗透小红帽python的学习之路
#外星人入侵小游戏
#创建pygame窗口以及响应用户输入

import sys

# 模块sys用来退出游戏
import pygame

def run_game():
    pygame.init() #初始化屏屏幕对象

    screen = pygame.display.set_mode((1200, 800))#创建显示窗口
    pygame.display.set_caption("Alien Invasion")
    bg_color = (230, 230, 230)#设置窗口背景为灰色

    #开始游戏主循环
    while  True:
        for event in pygame.event.get():#监听键盘和鼠标事件
            if event.type == pygame.QUIT:
                sys.exit()
            screen.fill(bg_color)#每次循环都会重绘屏幕
            pygame.display.flip()#让最近绘制的屏幕可见

run_game()

image

2.创建设置类Setting()

将关于小游戏的所有设置都存储在设置类中,方便修改!!!

A.修改文件:alien_invasion.py

点击查看代码
import sys

# 模块sys用来退出游戏
import pygame
from settings import Setting
#导入刚创建的设置类

def run_game():
    pygame.init() #初始化屏屏幕对象
    ai_settings = Setting()
    # 创建Setting类的实例,并存储在ai_settings变量中

    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))#创建显示窗口
    pygame.display.set_caption("Alien Invasion")
    #开始游戏主循环

    while  True:
        for event in pygame.event.get():#监听键盘和鼠标事件
            if event.type == pygame.QUIT:
                sys.exit()
            screen.fill(ai_settings.bg_color)#每次循环都会重绘屏幕
            pygame.display.flip()#让最近绘制的屏幕可见

run_game()

B.在与文件:alien_invasion.py同一文件夹下创建
文件:settings.py

点击查看代码
#渗透小红帽python的学习之路
#外星人入侵小游戏
#创建设置类Setting()
#存储外星人入侵小游戏的所有设置的类

class Setting():
    def __init__(self): #__init__ 注意是两个短下划线
        # 屏幕设置
        self.screen_width = 1200
        self.screen_height = 800
        self.bg_color = (230, 230, 230)



image

3.运行效果

image

三、学习笔记

1.pygame.init() #初始化屏屏幕对象

2.screen = pygame.display.set_mode((1200, 800))创建一个名为screen的窗口 ,对象screen是一个表面。在Pygame中,surface是屏幕的一部分,用于显示游戏元素。

3.display.set_mode返回surface是游戏窗口

4.pygame.event.get()使用方法监听所有键盘和鼠标事件,促使for循环的进行

5.pygame.QUIT和sys.exit()当玩家点击窗口的关闭按钮时,将检测pygame.QUIT事件,则调用sys.exit()来退出游戏。

6.pygame.display.flip()每次执行while循环时都会绘制一个空屏幕,并擦去旧屏幕,使得新绘制的屏幕可见。这样可以实现不断更新屏幕显示元素的新位置

7.将关于小游戏的所有设置都存储在设置类中,方便修改!!!


四、补充知识

在Pygame中,颜色是以RGB值指定的。这种颜色由红色、绿色和蓝色值组成,其中每个值的可能取值范围都是0~255。颜色值(255, 0, 0)表示红色,(0, 255, 0)表示绿色,而(0, 0, 255)表示蓝色。通过组合不同的RGB值,可创建1600万种颜色。在颜色值(230, 230, 230)中,红色、绿色和蓝色的量相同,它生成一种浅灰色。我们将这种颜色赋给了self.bg_color。

调用方法fill()用这种背景色填充屏幕。方法fill()用于处理surface,只接受一个实参:一种颜色。

2022-08-18 20:05:58 星期四

有什么不懂的地方在评论区留言哦!希望我的文章能对你有所帮助,如果喜欢我的文章,请点赞收藏并关注!你的认可是对我创作最大的鼓励!

标签:02,01,Python,创建,screen,pygame,屏幕,230,display
From: https://www.cnblogs.com/Penetration-redhat/p/16602790.html

相关文章

  • [HFCTF2020]EasyLogin-1|JWT身份伪造
    1、打开之后只有一个登陆界面和注册界面,右键检查发现app.js代码,结果如下:app.js代码如下:/***或许该用koa-static来处理静态文件*路径该怎么配置?不管了先填个根......
  • Python复杂表格数据存储
    表格数据使用字典和列表存储,并实现访问......
  • Tableau Desktop 2019 for Mac(数据可视化分析)中文版
    TableauDesktop2019forMac是一款方便实用,功能强大的数据可视化分析软件。Tableau利用技术优势,能够将数据图片转化为数据库查询,利用视觉观察图案的天赋能力,识别趋势,在......
  • Python集合(Set)常用操作
    定义set是一个无序且不重复的元素集合。集合对象是一组无序排列可哈希的值,集合成员可以做字典中的键。集合用in和notin操作符检查成员,以len()內建函数得到集合的基数(大......
  • GBJ1010-ASEMI整流桥GBJ1010
    编辑:llGBJ1010-ASEMI整流桥GBJ1010型号:GBJ1010品牌:ASEMI封装:GBJ-4特性:整流扁桥正向电流:10A反向耐压:1000V恢复时间:ns引脚数量:4芯片个数:4芯片尺寸:102MIL浪涌电流......
  • 2022伊朗数学奥林匹克 第二轮 第二天 第四题
    给定一个n*n的方格表,其中有部分方格染黑色,剩余方格染白色(可以不存在白格).对于甲每次操作,可以选取一恰有一个黑格的行,并将该黑格所在列上的所有方格染成红色;对于......
  • python基础语法获取列表中的多个元素_切片操作
    list=[10,20,30,40,50,60,70,80]print(list[6:0:-2])print(list[6:0:-1])print(list[6:0:-1])print(list[1:6:1])E:\PycharmProjects\pythonProject\venv\Scripts......
  • python 动态导入模块并结合反射,动态获取类、方法(反射太好用)
    背景: 关键字驱动框架,不同的关键字方法分别定义在不同的类,真正执行关键字方法又在不同的类(简称A),这样就需要在执行前,要在文件A下import要使用的模块,如果有很多页面操作或很......
  • 小恐龙快跑,不要被逮到拉~ python制作小恐龙游戏
    前言嗨喽~大家好呀,这里是魔王呐!  这个小恐龙熟悉叭,相信你在摸鱼得时候玩过它~这是谷歌流量器中很有名的彩蛋:当你网络出现问题时,就会出现一个“小恐龙游戏”。......
  • Python基础之reduce函数
    哈喽大家好,今天说一下reduce函数的使用方法,以及与for循环的对比。reduce函数原本在python2中也是个内置函数,不过在python3中被移到functools模块中。reduce函数先从......