2015-09-06 4 views
1

Мне нужно изменить прозрачность текстуры/спрайта, и я действительно не знаю, как это сделать. Любая помощь?Android Studio Libgdx Sprite/Texture Transparency

+0

Вам действительно нужно это сделать, прежде чем спрашивать. Там уже есть куча документации, руководств и т. Д. О том, как это сделать. – tobloef

+0

Я действительно googled перед тем, как спросить об этом, и я ничего не нашел. Я тоже был удивлен. Не могли бы вы мне помочь? –

+0

Хорошо. Что именно вы хотите сделать? Изменить прозрачность текстуры во время игры? – tobloef

ответ

4

Я вижу два решения здесь - один, чтобы изменить прозрачность непосредственно в спрайте:

Sprite sprite = new Sprite(yourTexture);    
    Sprite otherSprite = new Sprite(yourOtherTexture); 

    sprite.setAlpha(0.1f); // 0f is full transparent when 1f is full visible 

    ... 

    batch.begin(); 

    sprite.draw(batch); //this one will be almost transparent 
    otherSprite.draw(batch); //this one will be normal 

    batch.end(); 

всегда можно манипулировать с Sprite цвета непосредственно:

sprite.setColor(sprite.getColor.r, sprite.getColor.g, sprite.getColor.b, 0.1f); 

, но, кажется, глупый путь для меня.

Второй, который я рекомендую, чтобы обернуть Sprite в Scene2d Актер класса, как, например Image. Затем вы можете поменять aplha напрямую, но вы также можете использовать Scene2d Действия механизм, управляющий альфа-актером плавно (например, альфа-изменение анимации шаг за шагом).

Оба Scene2d и Действия должны широка, чтобы описать его здесь, но я рекомендую вам прочитать об этом здесь:

0

Я добавил это мой GameRenderer.java:

private void drawTapTapChuggy() { 
    batcher.setColor(1, 1, 1, 0.5f); 
    batcher.draw(AssetLoader.tapTapChuggy, 28, 89, (83 * 0.9f), (52 * 0.9f)); 
    batcher.setColor(1, 1, 1, 1.0f); 
} 
Смежные вопросы