我正在嘗試使用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 關注
- 632 瀏覽
添加回答
舉報
0/150
提交
取消