2013-02-28 56 views
4

我試圖用動作來縮放我的Actor。 但它不起作用。我只是希望我的演員在給定的時間內增加/減少它的尺寸。ScaleTo不能在Libgdx工作

演員將等待我給予ScaleTo的2秒持續時間。它會根據我給出的MoveTo操作正確移動。

public class SpriteTest extends Actor { 
     private Sprite sprite; 
     private TextureAtlas atlas; 
     Rectangle boundsd = new Rectangle(); 

     public SpriteTest(FirstGame game) { 
      //super(game); 
      Gdx.app.log(FirstGame.LOG, "spritetest's costructor"); 
      atlas = new TextureAtlas(Gdx.files.internal("pages-info.atlas")); 
      sprite = atlas.createSprite("Plus"); 
     } 

     public void draw(SpriteBatch batch,float parentAlpha) { 
      batch.draw(sprite, x, y); 
     } 

// We are adding the actor to the stage in another class 

public class LevelScreen extends AbstractScreen { 
    private Jumper2D jumper2d; 
    SpriteTest obstacled = new SpriteTest(game); 

    public LevelScreen(FirstGame game) { 
     super(game); 
    } 

    @Override 
    protected boolean isGameScreen() { 
     return true; 
    } 

    @Override 
    public void show() { 
     super.show(); 

     stage.addActor(obstacled); 
     obstacled.action 
     (Forever.$ 
      (Sequence.$ 
       (ScaleTo.$(1.4f, 1.4f, 2),(MoveTo.$(100,120, 3f))) 
         )); 
     jumper2d = Jumper2D.create(getAtlas()); 
     stage.addActor(jumper2d); 
     stage.draw(); 
    } 

    public void render() { 
     Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
     stage.act(Math.min(Gdx.graphics.getDeltaTime(), 1/30f)); 
     stage.draw(); 
    } 
} 

任何幫助表示讚賞

回答

8

您的SpriteTestdraw()方法忽略對Actor任何規模或旋轉設置。您需要適當地繪製縮放/旋轉/大小的精靈。 (您可能還需要設置演員的x,y,寬度和高度---見 setBounds

public void draw(SpriteBatch batch, float parentAlpha) 
{ 
    final Color c = getColor(); 
    batch.setColor(c.r, c.g, c.b, c.a * parentAlpha); 
    batch.draw(sprite, getX(), getY(), getOriginX(), getOriginY(), getWidth(), getHeight(), getScaleX(), getScaleY(), getRotation()); 
} 
+0

得到它 感謝很多:) – Silentasssasssin 2013-02-28 19:03:44

+0

@Silentasssasssin歡迎計算器。如果我的答案回答您的問題,請將其標記爲「已接受」(點擊左側的複選標記)。請參閱常見問題了解更多詳情http://stackoverflow.com/faq#howtoask – 2013-03-01 15:28:13

+0

謝謝,這很明顯,但是當你開始libgdx(就像我)這是一個非常常見的錯誤,可以讓你花幾個小時找到它。 – Don 2014-03-22 16:12:33