Нужно проверить столкновение с прямоугольными треугольниками. На каждый вид, отдельный метод проверки, нужно возвращать true, когда сталкивается и нужно получить высоту и длину от прямого угла до точки столкновения.
Достаточно будет и одного true возвращающего метода для каждого вида.
CollisionDiagonal.png
(5.71 кб.)
Возьмем точку столкновения игрока относительно корд квадрата с красным треугольником. Если ее x или y больше размера тайла, то происходит столкновение. Если x и y больше половины тайла - тоже. Следовательно, если x и у точки в сумме больше размера тайла, произойдет коллизия.
Смотря где это нужно, в платформерах, например это можно делать по ячейкам или по альфу каналу, либо по ячейкам определять фигуру, а само столкновение определять в соответствии с фигурой. Примерно вот так для прямоугольника, а остальные фигуры легко гуглятся.