python编程-第十二节-第一个项目实践-004

12.6.2 让飞船"停不下来"的移动魔法

当按键变成"粘性"的奇妙体验

想象一下:你按着右方向键不放,飞船就像被施了魔法一样持续向右滑行——这不是卡顿,而是我们精心设计的"持续移动"特效!

要实现这种丝滑体验,我们需要玩点键盘事件的小把戏。

移动标志:飞船的"开关控制器"

我们给飞船装了个虚拟的"油门踏板"——`moving_right`标志。

这个布尔值小可爱只有两个状态:
- `True`:老板,油门踩到底啦!
- `False`:松脚刹车咯!

在`Ship`类里我们这样设置:

class Ship:
    def __init__(self, ai_game):
        # ...其他初始化代码...
        self.moving_right = False  # 初始状态:静止的乖宝宝
    
    def update(self):
        """飞船的位置更新大师"""
        if self.moving_right:
            self.rect.x += 1  # 向右移动1像素,小碎步跑起来
键盘事件的"阴阳两面"

游戏需要同时监听两种键盘事件:
1. `KEYDOWN`:按键被按下时触发("老板踩油门啦!")
2. `KEYUP`:按键被释放时触发("老板松脚啦!")

代码实现如下:

def _check_events(self):
    for event in pygame.event.get():
        # ...其他事件处理...
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                self.ship.moving_right = True  # 油门踩下!
        elif event.type == pygame.KEYUP:
            if event.key == pygame.K_RIGHT:
                self.ship.movi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蓝花楹下

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

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

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

打赏作者

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

抵扣说明:

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

余额充值