2016-12-01 1 views
-1

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

reelSprite = atlas.createSprite("reel"); 

Внутри Render():

for (Wall lWalls : leftWalls){ 
     reelSprite.setOrigin(lWalls.getX(), lWalls.getY()); 
     reelSprite.setRotation(180); 

    batch.draw(reelSprite, lWalls.getX(), lWalls.getY()); 
    } 

Этот код не working.Please сказать мне, что не так я сделал.

+0

Перед тем, как задать вопрос, попробуйте сами достичь своих целей. Затем в вопросе объясните, что вы пробовали, с кодом предпочтительно и что не работает. – DavidS

ответ

0

Я изменил код, как это. ..

for (Wall lWalls : leftWalls){ 
     reelSprite1.setPosition(lWalls.getX(), lWalls.getY()); 
     reelSprite1.setOrigin(reelSprite1.getWidth()/2,reelSprite1.getHeight()/2); 
     reelSprite1.setRotation(180); 
     reelSprite1.draw(batch); 

тогда это сработало.

0

Вы должны использовать setRotation, прежде чем рисовать спрайты:

https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/g2d/Sprite.html#setRotation-float-

И даже до этого момента множество вращения:

https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/g2d/Sprite.html#setOrigin-float-float-

+0

Я пробовал как setRotation(), так и setOrigin(). Но никакого эффекта. – Niranjana

+0

сообщение отредактировано с кодом – Niranjana

+0

Хм ... Я не использовал спрайты, но текстуры, и они вращаются просто отлично. – MilanG

0
float rotate = 0; 
rotate += (sprite.getRotation() - 40) * Gdx.graphics.getDeltaTime(); 
     if(Math.abs(rotate) > 10) // change the number to set the rotation power cap 
      { 
       rotate = -10; 
      } 
    sprite.rotate(rotate); 
+0

Этот код также try.no эффект – Niranjana

+0

Я перемещаю reelSprite.Is, что причина вращения не работает на спрайт? – Niranjana

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