Проблема с обработкой Pygame Python / Spgesheet Pygame (MacBook) - PullRequest
1 голос
/ 20 марта 2019

Я работаю над Python3 / Pygame игрой. Многие изображения загружаются из очень простой настройки таблицы спрайтов. Все изображения имеют формат PNG . Код спрайт-листа прост. Создается объект изображения spritesheet, и затем моя программа выбирает меньшие изображения из изображения spritesheet на основе предоставленных мною координат Rect. Работает отлично. Я скомпилировал код (PyInstaller) и протестировал код (и игру) на нескольких компьютерах с Windows (Windows 7 и 10), Linux и на четырех различных установках Mac. На всех, кроме одного, работает отлично.

Компьютер, на котором он не работает, - это старый MacBook Air под управлением OS X El Capitan. Игра работает отлично, но есть ошибка при выборе файлов изображений из файла spritesheet PNG , где все смещено на один пиксель слишком далеко вниз. Таким образом, вместо точного выбора нужного спрайта, я получу большую часть спрайта, но верхний ряд пикселей будет отсутствовать, а нижний ряд будет «ниже спрайта» на листе спрайта. Все смещено вниз на один ряд. Я могу исправить это на этом конкретном компьютере, отредактировав код так, чтобы y-координаты, отправленные через функцию spritsheet, были на одну строку ниже.

Но почему? Почему это только на этом Mac? Другой MacBook Air (более новый) не имеет этой проблемы. У старого iMac под управлением более старой версии Os X (lion) такой проблемы нет. Это проблема с установкой pygame на этот конкретный компьютер? И если да, то почему это повлияет на скомпилированную PyInstaller версию игры, которую я пытался запустить? Я думал PyInstaller отправил все необходимое для правильной работы.

Как мне решить эту проблему?

...