飞机大战制作笔记4

本文介绍了使用Pygame实现游戏中的分数显示及暂停按钮的方法。包括字体加载、文本渲染、按钮交互逻辑等关键技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.显示分数(显示特殊文字方法)
Font方法:(用于载入字体,一般写在游戏主循环外)
score_font = pygame.font.Font("font/font.ttf", 36) ##括号的第一个参数是字体的路径(ttf格式),第二的参数是字体的大小

render方法:(把字体(text)变成surface对象,一般写在有序主循环内)
score_text = score_font.render("Score : %s" % str(score), True,WHITE)  ##第一个参数是text(以字符串的形式),第二个参数是"是否消除锯齿",第三个参数是字体颜色


2.暂停按钮

#游戏暂停按钮
paused = False
paused_nor_image = pygame.image.load("Images/shoot/game_pause_nor.png").convert_alpha() #载入浅色暂停按钮
paused_pressed_image = pygame.image.load("Images/shoot/game_pause_pressed.png").convert_alpha()	#载入深色暂停按钮
resume_nor_image = pygame.image.load("Images/shoot/game_resume_nor.png").convert_alpha() #载入浅色开始按钮
resume_pressed_image = pygame.image.load("Images/shoot/game_resume_pressed.png").convert_alpha() #载入深色开始按钮
paused_rect = paused_nor_image.get_rect() #获取图片矩形位置
paused_rect.left, paused_rect.top = width - paused_rect.width - 10, 10
paused_image = paused_nor_image #pause按钮的默认初始状态
	
	
...while中...
    for event in pygame.event.get():
			
        ...
			
        elif event.type == MOUSEBUTTONDOWN:
             if event.button == 1 and paused_rect.collidepoint(event.pos):
                 paused = not paused

        elif event.type == MOUSEMOTION:
            if paused_rect.collidepoint(event.pos): #判断鼠标的位置是否在paused_rect这个位置上,如果是就显示“深 色”图标
                if paused:
                    paused_image = resume_pressed_image #如果在暂停的情况下,图片变成“深 色 继 续”图片
                else:
                    paused_image = paused_pressed_image #如果在继续的情况下,图片变成“深 色 暂 停”图片
            else: #如果鼠标没在paused_rect上方的话,就显示 “浅 色” 图标
                if paused:
                    paused_image = resume_nor_image
                else:
                    paused_image = paused_nor_image						
		...
	
     #绘制暂停按钮
     screen.blit(paused_image, paused_rect)


3.难度的设置
在游戏主循环中,通过对玩家得分进行简单的if...else...判断即可实现

4.全屏炸弹

炸弹图片载入

爆炸效果:清除正在屏幕中的飞机



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值