А что вообще рендерится? Прямоугольник рисуется?
Трудно так сразу сказать - все-таки не понятно откуда этот `disappearingTentacle` вызывается и много остального не показано. Попробуйте упростить и подебажить.
В качестве отправной точки вот простенький рабочий пример:
package com.mygdx.game;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
public class RectrenderTest extends ApplicationAdapter {
private ShapeRenderer shapeRenderer;
private float alpha = 1f;
private float dAlpha = -0.5f;
private boolean fadingOut = true;
@Override
public void create() {
shapeRenderer = new ShapeRenderer();
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// Включается блендинг:
Gdx.gl.glEnable(GL20.GL_BLEND);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
// Задается форма:
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
update(Gdx.graphics.getDeltaTime());
// Задается цвет и прозрачность alpha:
shapeRenderer.setColor(new Color(1, 1, 1, alpha));
// Рисуется линия:
shapeRenderer.line(0, 0, 470, 350);
shapeRenderer.end();
// Выключается блендинг:
Gdx.gl.glDisable(GL20.GL_BLEND);
}
private void update(float dt) {
// System.out.println("dt=" + dt + ", alpha=" + alpha + ", dAlpha=" + dAlpha);
// Если прозрачность за пределами допустимых значений, меняем направление
if (fadingOut && alpha <= 0 || !fadingOut && alpha >= 1f) {
dAlpha = -dAlpha;
fadingOut = !fadingOut;
}
alpha += dAlpha * dt;
}
@Override
public void dispose() {
shapeRenderer.dispose();
}
}