2015-02-13 3 views
1

Экран разделен на две части, и у меня есть две группы текстур.Libgdx смешивание двух масок?

Я хочу, чтобы каждая группа текстур была обрезана, чтобы соответствовать каждой части экрана. Как это сделать, используя смешение (маски)?

Вот изображение, которое я сделал с MSPaint, чтобы описать ситуацию: description image

+0

Если вы знаете, какая текстура будет принадлежать какой-либо стороне, чем установить соответствующий видовое окно перед рисованием каждой из текстур. – BDL

+2

Хорошая работа на картинке! –

ответ

2

Я не знаю, как сделать это с смешивания масок, но вы можете сделать это с ножницами испытаний.

private Rectangle leftSide; 
private Rectangle rightSide; 

public void resize (int width, int height) { 
    //... 

    leftSide = new Rectangle(0, 0, width/2, height); 
    rightSide = new Rectangle(width/2, 0, width/2, height); 
} 

public void render() { 

    //... 

    spriteBatch.begin(); 
    //draw background 

    spriteBatch.flush(); 
    ScissorStack.pushScissors(leftSide); 
    //draw left side stuff that is cropped 
    spriteBatch.flush(); 
    ScissorStack.popScissors(); 
    ScissorStack.pushScissors(rightSide); 
    //draw right side stuff that is cropped 
    spriteBatch.flush(); 
    ScissorStack.popScissors(); 
    //draw any other stuff that is not cropped on top of everything else 
    spriteBatch.end(); 
} 
+0

Спасибо! Оно работает! До сих пор я не знал о ScissorStacks. – MujjinGun

Смежные вопросы