为了账号安全,请及时绑定邮箱和手机立即绑定

我的pygame游戏中出现“ TypeError:预期为整数参数,浮点数”的原因?

我的pygame游戏中出现“ TypeError:预期为整数参数,浮点数”的原因?

潇潇雨雨 2021-03-29 13:10:12
我正在尝试使用pygame库对游戏进行编程,但由于某种原因,它一直在抛出TypeError:预期为integer参数,以下行出现了float错误:if surface.get_at((player["x"], player["y"] + player["height"])) == (0,0,0,255):leftOfPlayerOnPlatform = Falseif surface.get_at((player["x"] + player["width"], player["y"] + player["height"])) == (0,0,0,255):rightOfPlayerOnPlatform = Falseif leftOfPlayerOnPlatform is False and rightOfPlayerOnPlatform is False and (player["y"] + player["height"]) + player["vy"] < windowHeight:player["y"] += player["vy"]我使用Thonny来运行代码。如果有人可以帮助我解决我的问题,我将不胜感激。
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

您使用的是Python 2.7还是3.x?

如果您使用的是3.x,则默认情况下它将应用浮点除法,因此该行

player["x"] = windowWidth / 2

将产生一个浮点数。PyGame要求所有坐标均为整数。在Python 3.x中,将//用于整数除法

player["x"] = windowWidth // 2  #  or use
player["x"] = int(windowWidth / 2)

这很可能就是TypeError的含义:预期 为整数参数,因为您所指示的行确实会引用坐标而变得浮点数


查看完整回答
反对 回复 2021-04-16
  • 2 回答
  • 0 关注
  • 567 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信