利用 pygame 开发一款游戏:「跳跳兔」(八)

本文介绍了如何使用pygame优化‘跳跳兔’游戏的细节,包括解决玩家对象平移问题和调整跳跃高度以提高可玩性。同时,通过pygame添加了背景音乐,使游戏更具沉浸感。在代码优化部分,详细说明了碰撞检测的改进和跳跃逻辑的变化。最后,分享了完整代码和资源的GitHub链接。
摘要由CSDN通过智能技术生成

处理私事,拖更许久,抱歉抱歉。

前言

在第七节中,实现了玩家对象的动画效果以及平台的图片化。

本节将细节优化一下,然后加上相应的配音。

细节优化

如果你有仔细的试玩第七节实现的跳跳兔,会发现一些瑕疵,这里简单修改一下。

瑕疵 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),进行碰撞检测,检测玩家是否碰撞到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

懒编程-二两

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

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

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

打赏作者

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

抵扣说明:

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

余额充值