Tôi đang cố gắng che một hình nền nhỏ hơn mặt nạ. và khoảng cách giữa nền và mặt nạ xuất hiện màu đen.Hình ảnh mặt nạ có chứa alpha làm cho mặt nạ bên trong màu đen
Đây là mã Tôi đang sử dụng:
batch.end();
batch.begin();
Gdx.gl20.glColorMask(false, false, false, true);
batch.setBlendFunction(GL20.GL_ONE, GL20.GL_ZERO);
batch.draw(mask, getX(), getY());
batch.flush();
Gdx.gl20.glColorMask(true, true, true, true);
batch.setBlendFunction(GL20.GL_DST_ALPHA, GL20.GL_ONE_MINUS_DST_ALPHA);
batch.draw(texture, getX(), getY());
batch.flush();
batch.setBlendFunction(GL20.GL_SRC_ALPHA,GL20.GL_ONE_MINUS_SRC_ALPHA);
batch.end();
batch.begin();
tôi đã cố gắng tất cả các loại kết hợp chức năng mà không cần bất kỳ sự thành công. có lẽ tôi đang thiếu một cái gì đó.
Cập nhật
Gắn biểu đồ mà tôi xây dựng của tất cả các khả năng kết quả (có liên quan) của src và dst trộn chức năng. May mắn là không có điều nào dưới đây có hiệu quả, và như tôi đoán có điều gì đó cần phải được thực hiện để đạt được kết quả.
Gdx.gl20.glColorMask(true, true, true, true);
batch.setBlendFunction(src_func, dst_func);
batch.draw(texture, getX(), getY());
Đây là câu hỏi rất chi tiết và mang tính thông tin. – Programmer