Привет!
Сломал уже весь мозг. Суть проблемы. Есть Shaperenderer и он рисует обычный rectline().
Я написал функцию, которая с помощью delta-time меняет его прозрачность. Выглядит все это так, код не полный, но тут передана суть.
public void disapearingTentacle(float delta){
Iterator<Tentacle> iter = controlElement.getDisapearingTentacle().iterator();
boolean find = true;
while (iter.hasNext()){
//тут магия, шобы не загрязнять вам мозги лишней инфой
}else find = false;
if(find == false){
System.out.println(str.trans); // тут я в консоле воочию наблюдая, как переменная trans действительно как того требует логика моего воспаленного мозга изменяет свое значение, и она float
if(str.trans > 0) rend.setColor(0,0,0,str.trans);
str.trans -= 0.5f*delta; // тут мы ее уменьшаем со временем
if(str.trans < 0) // если ушли за ноль, то эта str самое слабое звено - прощайте..!!
iter.remove();
else str.renderLine(rend); // иначе мы должны отрисовать прямоугольник с прозрачными линиями
}
}
}
renderLine содержит банальщину, это чтобы убедиться, что я не лось
public void renderLine(ShapeRenderer rend){
this.rend = rend;
rend.rectLine(startCoordinateX, startCoordinateY, endCoordinateX, endCoordinateY, width);
}
Один чувак посоветовал мне произнести вот такие заклинания
Gdx.gl.glEnable(GL20.GL_BLEND);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
я и это произнес, но СОТОНА так и не появился, даже черная магия не сделала мою прямую полупрозрачной.
Кстати, да, я рисую прямую с помощью прямоугольника, ведь libgdx, java или б-г знает какие еще высшие силы не предусмотрели рисование нормальным способом прямой нужной толщины. (>_<)
Что мне делать?