Создаю 2D игру по типу Terraria.
Сделал платформу через код. Используя библиотеку PointJs. (Обычная библиотека которая упрощает работу с canvas).
Физика есть.
Игрок бегает по платформе просто шикарно.
Сделал возможность ставить блоки (объекты).
Нужно было сделать так, чтоб блоки ставились по сетке, четко по линиям, без погрешностей.
Сделал чтоб игрок создавал такие объекты:
fillColor: "yellow",
x: Math.floor(pjs.mouseControl.getPosition().x/40)*40,
y: Math.floor(pjs.mouseControl.getPosition().y/40)*40,
w: 40,
h: 40,
мы в X сделали формулу:
Округляем до меньшего(Расположение курсора мыши по X делим на 40) умножаем на 40.
то же самое по Y.
Считайте я сделал сетку, где 1 квадратик 40x40 пикселей. И нажимая на ПКМ создается такой объект.
к делу.
я начал в игре делать платформы, когда бегу чисто направо - все гладко работает. четко.
Бегаю налево - застреваю.
Застреваю именно в самом правом конце объекта.
https://yadi.sk/i/w5FGmU3EasI0Xg - вот видео, оно лагает, но видно что я отлично хожу вправо, и застреваю когда иду влево.
Я неделю переписывал код. Все дело именно в коде где я создаю объект. (Тот кусок кода который я скинул)