Я пытаюсь создать pacman-подобную игру.У меня есть массив, который выглядит следующим образом:
массив:
1111111111111
1000000000001
1111110111111
1000000000001
1111111111111
1 = стена, 0 = пустое пространство
Я использую этот массив для рисования плитки размером 16x16по размеру.Персонаж Game - 32x32.
Изначально я представлял позицию персонажа в индексах массива, [1,1] и т. Д.
Я бы обновил его позицию, если бы массив [character.new_y] [charater.new_x] == 0
Затем я перевел эти координаты массива в пиксели, [y * 16, x * 16], чтобы нарисовать его.
Он хорошо выстроился, не стал быстены, но я заметил, что, поскольку я обновлял его по 16 пикселей каждый, он двигался очень быстро.
Я решил сделать это в обратном порядке, чтобы вместо этого сохранить положение игрового персонажа в пикселях, чтобы он могиспользуйте менее 16 пикселей на ход.
Я думал, что простое утверждение if, такое как:
if array[(character.new_pixel_y)/16][(character.new_pixel_x)/16] == 0
, помешает ему войти в стены, но, к сожалению, он съедает немногонижняя и правая боковые стенки.
Есть идеи, как мне правильно перевести положение пикселей в индексы массива?Я думаю, это что-то простое, но я действительно не могу понять это: (