2013-08-29 5 views
3

Я искал ответ в течение примерно 2 часов, и я не нашел желаемого ответа. Мой вопрос: возможно ли и как рисовать круглую текстуру, так что вне круга текстура будет прозрачной, возможно ли это?Circle shaped texture libGdx

Заранее благодарен! До сих пор этот сайт очень помог!

ответ

4

Самый простой способ - открыть программу, например, Photoshop и сделать изображение с альфа-каналом. Это означает: Начните с полностью прозрачного изображения и нарисуйте на нем круг. Затем сохраните его как .png

Тогда вы можете просто загрузить его в свою игру и сделать его с помощью SpriteBatch. Он (или, лучше, ваша видеокарта) знает, как обращаться с альфа-каналом, и сохранит все, кроме круга, совершенно невидимым.

Таким образом, вам не нужно манипулировать никакими растровыми изображениями во время выполнения, и вы не ограничены простыми формами, например кругами.

+0

Я рад, что это возможно, я сделаю это. Большое спасибо! – user2685747

1

pixmap используют эту ссылку, если и используют, кроме .png формат для изображений

Помимо формы, если вы используете PNG изображения, то просто нарисуйте cirlce. Вне круга останется прозрачным.

+0

Как вы можете нарисовать круг? С SpriteBatch.draw? Нет способа нарисовать круг. Не могли бы вы дать мне простой пример? – user2685747

2

Если часть текстуры, которую вы хотите видеть в круге, не должна меняться во время выполнения, самый простой способ - открыть Photoshop, сделать то, что вы хотите, экспортировать в качестве изображения, а затем загрузить его в Texture или объект Sprite в вашем коде.

Но это также можно сделать во время выполнения через OpenGL с помощью теста Stencil. Это единственное решение, если часть, отображаемая в круге, должна быть изменена во время выполнения.