Как получить размер спрайта в спрайте "Лист"? - PullRequest
2 голосов
/ 29 января 2012

Моя проблема заключается в получении Спрайта в "Листе".

    public class Blocks extends Sprite{
        public Blocks() throws IOException
            {
                super(Image.createImage("/blockSprite.png"),20,30);
            }
    }        

"blockSprite.png содержит изображения спрайтов, множество спрайтов в одном изображении"

Проблема здесьиспользует эту строку кода, как я должен получить размер / размер Sprite в изображении?

Лист Sprite:
Ширина - 162
Высота - 280

Iхотите узнать ширину / высоту спрайтов в листе?и как определить ширину / высоту спрайтов в листе спрайтов?

Ответы [ 2 ]

1 голос
/ 01 января 2019

Одним из способов является использование программного обеспечения для редактирования изображений (скажем, GIMP, оно бесплатно). Что вам нужно сделать, это

  • Открыть изображение в GIMP
    • Нажмите на инструмент выбора прямоугольника (или нажмите r), ваша мышь превратится в перекрестие
    • Теперь, когда вы щелкнете по изображению, в панели инструментов под опциями инструмента вы увидите положение X-Y точки, по которой вы щелкнули
    • Круто, теперь нарисуйте прямоугольник вокруг спрайта, который вы хотите. Увеличьте масштаб, прежде чем сделать это, так что вы на самом деле выбираете весь спрайт.
    • Теперь вы получите координаты X-Y верхнего левого угла нарисованного вами прямоугольника и высоту и ширину изображения.

После этого просто используйте https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Using_images#Slicing.

Веселитесь !!

0 голосов
/ 30 января 2012

Вы знаете, сколько спрайтов в каждой строке и столбце, верно? затем просто разделите ширину на количество спрайтов в столбце и разделите высоту на количество спрайтов в строке.

(я могу неправильно указать столбец и строку, я не являюсь носителем английского языка, но вам следует просто переключить строку / столбец, если первая попытка не удалась)

...