pygame 飞机大战飞机、BOSS信息的显示

该博客探讨了在pygame游戏中如何展示英雄飞机的得分、生命值以及BOSS的动态生命条。通过创建自定义的绘制函数,每个精灵可以管理自己的显示方式,简化主程序的复杂性。在BOSS类中添加`draw_life_indicate(self)`方法来绘制根据HP比例的生命条,并在主函数中调用,以动态更新显示。

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

目标,显示英雄飞机的得分,生命值,BOSS机的动态生命条

战斗界面中,信息数据是必不可少的,一般都包括得分值,当遇到BOSS时,还会显示BOSS的动态生命条,还有其他的飞机数量,炸弹数量等。不管生命信息,原理都是一样的。

假设你有一个BOSS类,继承于pygame.sprite.Sprite,BOSS有HP值属性。

还有英雄飞机,继承于pygame.sprite.Sprite,属性里有得分和生命。

显示信息一般在主类里,用 pygame.Surface.blit()来绘制,在主类里面取得所需的HP值,得分,生命。用类似

# 绘制玩家信息

hero_info = self.my_font.render('score:' + str(self.hero_score), True,

(255, 0, 0))

hero_life = self.my_font.render("生命:" + str(self.hero.HP), True,

(0, 255, 0))

self.scene.blit(hero_info, (0, 0))

self.scene.blit(hero_life, (self.size[0] - 100, 0))

这样的方法在屏幕显示。

但是当显示的信息是多样化,列如要显示BOSS的生命条,要显示小BOSS的生命条,生命条要随飞机移动,要显示伤害值等等数据或者图像的时候,在主函数里就显得不大方便了,管理起来很麻烦。

其实可以在每个sprite里设置各自的显示方式,对自己的显示方式进行自己管理。

pygame

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值