废话一下,用了sprite的group后,觉得不用的日子是地狱,用了sprite里的层(layer)后,目前都可以在天上飞了。
前面日志了,添加了动态飞机,添加了血条,添加了子弹发射,居然不用在main.py添加一条代码。爽歪歪。
好了,言归正传,BOSS发子弹发偏了,而且还是一连串的,还能治好吗?
这篇日子就让它回归正常吧。
第一件事,先把update()里的 self.HP -= 1删除吧,太影响形象了。
先做对准的工作吧。
找到BOSS下部的中心点,X坐标的位置要减去子弹的宽度的一半
Rect有很多属性,自带的提示是不会显示的,其实你向要的都有,例如这个midbottom。
一个小提示,可以在python环境里,输入dir(pygame.Rect)来查看它自带的一些功能。
BOSS 的发射函数fire()的代码改为如下:
bullet = Bullet()
pos_x = self.rect.midbottom[0]-bullet.rect.width//2
pos_y = self.rect.midbottom[1]
bullet.set_pos(pos_x,pos_y)
测试一下,对准没问题了。
下一步,设置发射频率。
详细的过程可以见我以前的日志,要去买菜烧饭了,直接上BOSS治好病后的完整代码。
from setting im