Я на Windows 8, я использую Python 3.7, и у меня есть проблема с Pygame.
Прежде всего, извините за мой плохой английский.Я пытаюсь следовать основным играм v1 от magpi, и я пытаюсь использовать drop.py, чтобы проверить его, но когда я запускаю, он возвращает мне ошибку -> ожидается целочисленный аргумент, получил float
Iя застрял в этой строке
if surface.get_at((player["x"], player["y"] + player["height"])) == (0, 0, 0, 255):
, и это переменный источник
player = {
"x": int(windowWidth / 2),
"y": 0,
"height": 25,
"width": 10,
"vy": 5
}
Я преобразовал игрока ["x"], потому что я знаю Pygame.surface.get_at ожидает целое число, а не число с плавающей запятой.Но даже если я преобразовал значение с плавающей точкой с помощью функции int (), я все равно получаю эту ошибку.
Можете ли вы помочь мне, пожалуйста, я попытался напечатать значение, чтобы убедиться, что оно возвращает целое число, и это делаетно я не понимаю, почему я все еще получаю ошибку.
Я искал на stackoverflow, и ни одна из тем не помогла мне в этой проблеме.Вот почему я впервые спрашиваю о stackoverflow.
Заранее благодарю за любой ответ.
update: я преобразовал всю свою переменную в целое число внутри своих функций и игровой работы,но это кажется жестко закодированным для меня.Я сделал что-то неправильно ?
if surface.get_at((int(player["x"]), int(player["y"]) + int(player["height"]))) == (0, 0, 0, 255):