2017-02-15 4 views
2

Ich mache das erste Spiel in libGdx. Ich muß Linie Animation tun zeichnen wie this videoZeichne Linienanimation in libGDX

hier ist mein Code

Vector2 start = new Vector2(10, 10); 
Vector2 end = new Vector2(100,100); 
ShapeRenderer shapeRenderer=new ShapeRenderer(); 
shapeRenderer.setProjectionMatrix(cam.combined); 
shapeRenderer.begin(ShapeRenderer.ShapeType.Line); 
shapeRenderer.setColor(Color.BLACK); 
shapeRenderer.line(start, end); 
shapeRenderer.end(); 

i bin in der Lage direkte Linie zwischen zwei Punkten auf DrawLine aber mit Zeichnung Animation haben müssen, zeichnen.

Hilfe?

+1

Sie haben über 7K Ruf Punktzahl und eine Frage stellen, ohne uns zu zeigen, was Sie versucht haben? – munyul

+0

Okay, danke für das kleine Codebeispiel - um die Linie zu animieren, einfach die 4 Koordinatenwerte dynamisch machen (ändern). – munyul

+0

können Sie versuchen, indem Sie Linie in Stücke von for-Schleife zeichnen, die sehr kleine Linie und auch eine gewisse Menge an Verzögerung enthalten. – Kharak

Antwort

4

auf Code-Basis, müssen Sie einfach die Werte dynamisch koordinieren machen:

Vector2 startPt = null; 
Vector2 endPt = null; 
Vector2 movingPt = null; 

void myInit() 
{ 
    startPt = new Vector2(10, 10); 
    endPt = new Vector2(100, 100); 
    movingPt = new Vector2(startPt.x, startPt.y); 
} 

void update(float delta) 
{ 
    // add your animation here, below is an example 
    float PixelsPerSecond = 100f; 
    float dt = delta * PixelsPerSecond; 
    if (movingPt.x < endPt.x) movingPt.x += dt; 
    else movingPt.x = endPt.x; 
    if (movingPt.y < endPt.y) movingPt.y += dt; 
    else movingPt.y = endPt.y; 
} 

void draw() 
{ 

    // add code here (or in a base class) to clear the screen (once) each loop 

    ShapeRenderer shapeRenderer=new ShapeRenderer(); 
    shapeRenderer.setProjectionMatrix(cam.combined); 
    shapeRenderer.begin(ShapeRenderer.ShapeType.Line); 
    shapeRenderer.setColor(Color.BLACK); 
    shapeRenderer.line(startPt, movingPt); 
    shapeRenderer.end(); 
} 
+0

Ich habe die Antwort ein bisschen geändert .. jetzt funktioniert es perfekt, danke !! :) –

+0

Ah, also wolltest du wirklich die Erstellung der Zeile animieren :) froh, dass der Code geholfen hat ... – munyul

+0

Yeah. Vielen Dank :) –