我正在尝试使用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的含义:预期 为整数参数,因为您所指示的行确实会引用坐标而变得浮点数。
- 2 回答
- 0 关注
- 567 浏览
添加回答
举报
0/150
提交
取消