处理私事,拖更许久,抱歉抱歉。
前言
在第七节中,实现了玩家对象的动画效果以及平台的图片化。
本节将细节优化一下,然后加上相应的配音。
细节优化
如果你有仔细的试玩第七节实现的跳跳兔,会发现一些瑕疵,这里简单修改一下。
瑕疵 1:跳跳兔会平移。
造成该现象的代码如下。
# main.py/Game
def update(self):
self.all_sprites.update()
# # 玩家在界面中时(y>0),进行碰撞检测,检测玩家是否碰撞到平台
if self.player.vel.y > 0:
hits = pg.sprite.spritecollide(self.player, self.platforms, False)
# 会产生平移效果
if hits:
self.player.pos.y = hits[0].rect.top
self.player.vel.y = 0
...# 省略其他无关代码
在 update () 方法检查碰撞检测时,如果发生了碰撞,就直接将 hits 列表中第一个元素赋值给 player 玩家对象,从而造成了跳跳兔本身没有跳跃,只是碰到了平台周围,就瞬移到上一个平台的效果。
代码进行如下修改。
# main.py/Game
def update(self):
self.all_sprites.update()
# # 玩家在界面中时(y>0),进行碰撞检测,检测玩家是否碰撞到