2016-03-13 4 views
0

У меня закругленная квадратная текстура, нарисованная краской, с черной рамкой. Как изменить только внутренний цвет, не меняя цвет рамки?LibGDX - изменить внутренний цвет, а не границу

EDIT: Я сделал это, но я хочу спросить, можно ли это сделать без использования другой текстуры? Я также задаюсь вопросом, существует ли связь между этим и 9patch, как при масштабировании. Можем ли мы использовать это или есть что-то подобное?

+0

Что вы подразумеваете под плиткой? Это спрайт или вы используете 'ShapeRenderer'? – Madmenyo

+0

@MennoGouw Я отредактировал свой вопрос. –

+0

Просто используйте другую текстуру? В противном случае вы можете искать маскирование или вы также можете создать свой собственный шейдер, но для этого нужен шейдерный язык. – Madmenyo

ответ

0

Вы можете оттенять то, что вы рисуете, используя SpriteBatch. Это означает, что указанный вами цвет умножается на цвет изображения. Например, если ваше изображение представляет собой белый округлый прямоугольник с черной рамкой, а вы его оттенок, используя фиолетовый цвет, то внутри будет фиолетовый, а граница останется черной. Вы не указали достаточно информации, чтобы быть более конкретным. Но если вы, например, используете класс Sprite, вы можете использовать метод setColor, чтобы его затемнить. Аналогично, если вы используете класс Image. Если вы рисуете «текстуру» напрямую, используя SpriteBatch, вы можете использовать метод setColor для SpriteBatch.