Проверка, находится ли объект внутри границ изометрической плитки / чанка
Как я могу проверить, находится ли объект внутри границ изометрического фрагмента? например, у меня есть игрок, и я хочу проверить, находится ли он внутри границ этого изометрического куска. Я рисую плитки изометрического чанка, используя OpenGL Quads.
Моей первой попыткой была проверка типа квадратного шаблона:
e = object;
this = isometric chunk;
if (e.getLocation().getX() < this.getLocation().getX()+World.CHUNK_WIDTH*
World.TILE_WIDTH && e.getLocation().getX() >
this.getLocation().getX()) {
if (e.getLocation().getY() > this.getLocation().getY() &&
e.getLocation().getY() < this.getLocation().getY()+
World.CHUNK_HEIGHT*World.TILE_HEIGHT) {
return true;
}
}
return false;
Что происходит здесь, так это то, что он проверяет КВАДРАТ вокруг порции, а не реальные изометрические границы. Пример изображения: (КРАСНЫЙ ГДЕ ГДЕ ПРОГРАММА ПРОВЕРЯЕТ ЗАГРУЗКИ)
Что у меня сейчас:
Желаемая проверка:
В конечном итоге я хочу сделать то же самое для каждой плитки в чанке.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
До сих пор в моей игре вы могли перемещать плитку только по плитке, но теперь я хочу, чтобы они двигались свободно, но мне все еще нужно, чтобы они располагались на плитке, поэтому независимо от того, где они находятся на плитке, их местоположение плитки будет определенным. плитка. затем, когда они находятся внутри ограничительной рамки другой плитки, их расположение становится новой плиткой. То же самое происходит с кусками. у игрока есть область, но область в данном случае не имеет значения. и до тех пор, пока X и Y находятся внутри ограничительной рамки, она должна возвращать true. они не должны быть полностью на плитке.