鱼C论坛

 找回密码
 立即注册
查看: 1390|回复: 2

[技术交流] 有偿找BUG,有偿找BUG,有偿找BUG!

[复制链接]
发表于 2018-3-3 11:55:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
   帮帮我吧各位大神,这是个pygame的打飞机游戏。
   飞机的左右移动在 gamefunctions模块里的checkevent函数里, 在未修改的gamefunctions.old里 直接在checkevent函数里控制飞机的左右移动。(game functions old.py)
    而修改之后的game functions.new里 又定义了两个新的check keydown event函数 和check keyup event 函数,并且仿佛在checkevent函数里调用这两个新的函数。(game functions new .py)
   奇怪的是调用前可以左右移动,调用之后就不能往右移动了。
  


  采纳后请我会私信你,转账报酬,自己找了两天BUG都没找到,卡在那里了,谢谢了!!!
alien_invasion.py.png
game_functionsnew.py.png
game_functionsold.py.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-3 12:19:54 | 显示全部楼层
本帖最后由 铁棍阿童木 于 2018-3-3 12:24 编辑

第一个地方:函数 check_keydown_events(event, ship) 中的 ship._moving_righ = True 是不是多了一个下划线啊?应为你没有贴出 Settings()类,所以我不确定,但是跟后面的check_event()函数里面的属性不同。

第二个地方:check_events()函数
elif event.type == pygame.KEYDOWN:
    #这里就应该直接调用 check_keydown_event()函数啊,不需要再判断是否是RIGHT键。这部分判断内容你已经写入check_keydown_event()函数里面去了啊。


第三个地方:游戏主程序的大循环部分
while True:
   
    gf.check_event(ship)  # 首先要检查用户输入的事件
    ship.update()             # 然后才是根据用户输入的事件更新ship的位置
    gf.update_screen(ai_settings, screen, ship)   #最后才是更新屏幕,让所有改动可见

如果按照你的写法就会导致飞船位置无法根据输入事件而更新;     


你改了以后再试试,另外我看不到 ship.py 文件的内容,不好判断无法移动的最终原因。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-3 12:41:47 | 显示全部楼层
如果还不能排查你的问题,可以给我一个邮箱,我发一份我用pygame写的代码过去,你自己去排查。原因无外乎三个:属性定义错误、函数调用错误、循环次序错误。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 09:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表