那傻比的pygame初步代码总结

import sys
import pygame
class Settings():
    def __init__(self):
        self.screen_width=1600
        self.screen_height=900
        self.bg_color=(240,240,240)
        
def run_game():
    #初始化游戏,建立屏幕对象
    pygame.init()
    #使用setting类
    ai_settings=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()
            

我学的新东西有:

关于pygame库:
pygame.init()

pygame.display.set_mode(元组)

pygame.display.set_caption('Alien Invasion')

pygame.event.get():

pygame.QUIT#注意没有括号

pygame.display.flip()
关于screen:
screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))

screen.fill(ai_settings.bg_color)

关于event(这里是我自定义用于循环pygame.event.get()的结果)

event.type#注意没有括号

在 Python 中,特别是在使用 pygame 库时,screen 通常是一个变量,它指代创建的游戏窗口或屏幕的显示区域。

详细版:

方法

作用

pygame.init()

游戏初始化

pygame.display.set_mode(元组)

窗口大小

pygame.display.set_caption('Alien Invasion')

窗口名称

pygame.event.get():

键鼠事件

pygame.QUIT#注意没有括号

点击退出

pygame.display.flip()

屏幕刷新
screen.fill()屏幕填色
screen=...窗口大小
event.type#注意没有括号

事件抓取

我们继续写一个流程:

煞笔CSDN连mermaid都不支持,真是狗都不用...

  1. 初始化pygame,使其正常运行
  2. 建立Settings类,统一设置代码
  3. 开启程序主循环:
    1. 循环检测键鼠动作
    2. event检测到pygame.QUIT直接sys.exit()
  4. 刷新屏幕

重写了一下,忘了很多东西:

import sys
import pygame

class Settings():
    def __init__(self) -> None:
        self.screen_width=1600
        self.screen_height=900
        '''forgot this'''
        self.bg_color=(240,240,240)#0~255
    
def run_game():
    pygame.init()
    ai_settings=Settings()
    
    '''forgot this'''
    screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    '''forgot this'''
    pygame.display.set_caption('Alien Invasion')

    while True:
        for event in pygame.event.get():
            '''这里总是把event.type写成别的'''
            if event.type==pygame.QUIT:
                sys.exit()
                
        '''forgot this'''
        screen.fill(ai_settings.bg_color)
        
        pygame.display.flip()#为什么在while外面就无法访问pygame?
        
run_game()

忘记了:

  1. setting里添加color元组
  2. run_game里初始化screen大小,标题
  3. event.type写成event或event.type()
  4. pygame.display.flip忘记pygame.display

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

青樱部_OFFICIAL

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

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

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

打赏作者

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

抵扣说明:

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

余额充值