@Aquinary
Хинафаг.

Получить область в текстурном атласе исключительно по ее идентификатору?

Доброго времени суток.
Есть атлас текстур определенного размера (128х128 например), на котором расположены спрайты одинаковых размеров (32х32), итого получается всего 16 спрайтов.
Можно ли каким-нибудь образом получить нужное смещение координат по X и Y, используя только смещение по X?
Я пытался сделать вот так:
if (indexTile * 32)>= y * 128)
{
    y+=1;
}
Рисовать(indexTile * 32, y * 32);

Но это не работает.
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
function getCoordByNumber(n, width, heigth, totalWidth, totalHeigth){
	if(n == 0) return {x:0,y:0};
    var nx = ~~(totalWidth/width);
    var ny = ~~(totalHeigth/heigth);
    return {
        x:(n%nx)*width,
        y:(~~(n/ny))*heigth
    };
}

console.log(getCoordByNumber(/*номер текстурки*/9, 32, 32, 128, 128));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы