Jak usunąć (wyciąć) przezroczysty prostokąt w strukturze, aby otwór był przezroczysty.Wytnij półprzezroczysty kwadrat w strukturze
Na Androidzie użyłbym podejście Xfermodes:
Ale w libgdx będę musiał użyć OpenGL. Do tej pory prawie osiągnąć to, czego się szuka, używając do glBlendFunc Od tego miły i bardzo pomocny page I learend że
glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
powinno rozwiązać mój problem, ale próbowałem go, i nie dość pracy zgodnie z oczekiwaniami:
batch.end();
batch.begin();
//Draw the background
super.draw(batch, x, y, width, height);
batch.setBlendFunction(GL20.GL_ZERO,
GL20.GL_ONE_MINUS_SRC_ALPHA);
//draw the mask
mask.draw(batch, x + innerButtonTable.getX(), y
+ innerButtonTable.getY(), innerButtonTable.getWidth(),
innerButtonTable.getHeight());
batch.end();
batch.setBlendFunction(GL20.GL_SRC_ALPHA,
GL20.GL_ONE_MINUS_SRC_ALPHA);
batch.begin();
To właśnie czyni obszar maski zwykły czarny, podczas gdy ja spodziewałem przejrzystość, żadnych pomysłów.
To co mam:
to, czego się spodziewałem:
Czy masz dla nas fragment kodu? Będzie lepiej dla zrozumienia twojego pytania. –
hmm dobrze pomyślałem o jakimś fragmencie, ale do tej pory nie miałem do czynienia, dlatego miałem nadzieję, że ogólne pytanie jest bardziej użyteczne. Ale do tej pory udokumentuję moją ofertę. – joecks
Otrzymuję efekt zwykłej czarnej maski z witryny 'glblendfunc.php' dla parametrów' setBlendFunc'. Czy możesz dołączyć zrzut ekranu tego, co dostajesz lub czego chcesz? (Uwaga: na stronie 'glblendfunc.php'" pierwszy plan "ma taki sam rozmiar jak" tło ", więc cała alfa pierwszego planu jest zastosowana do całego tła.) –