2013-05-08 18 views
1

我創建了以下訪問器,以便爲imageview的位置添加一個簡單的補間。我正在使用RelativeLayout。無訪問者註冊。 Universal Tween Engine

public class ImageViewAccessor implements TweenAccessor<ImageView> { 

    public static final int X = 1; 
    public static final int Y = 2; 
    public static final int XY = 3; 

    @SuppressLint("NewApi") 
    public int getValues(ImageView target, int tweenType, float[] returnValues) { 
     switch (tweenType) { 
      case X: returnValues[0] = target.getX(); return 1; 
      case Y: returnValues[0] = target.getY(); return 1; 
      case XY: 
       returnValues[0] = target.getX(); 
       returnValues[1] = target.getY(); 
       return 2; 
      default: assert false; return 0; 
     } 
    } 

    @SuppressLint("NewApi") 
    public void setValues(ImageView target, int tweenType, float[] newValues) {  
     switch (tweenType) { 
      case X: target.setX(newValues[0]); break; 
      case Y: target.setY(newValues[1]); break; 
      case XY: 
       target.setX(newValues[0]); 
       target.setY(newValues[1]); 
       break; 
      default: assert false; break; 
     } 
    } 
} 

我用下面的代碼註冊訪問:

Tween.registerAccessor(ImageViewAccessor.class, new ImageViewAccessor()); 
Tween.to(logo, ImageViewAccessor.Y, 1f).target(50).start(); 

但我發現了一個崩潰「沒有TweenAccessor發現目標」的Tween.to(logo, ImageViewAccessor.Y, 1f).target(50).start();所以我有2個問題。

  • 我可以使用這個框架來添加一個簡單的補間imageview(我希望圖像懸停大約5 PX,然後5 PX下來)?
  • 此外,如果在調用函數之前註冊了訪問器,爲什麼會顯示此錯誤?

編輯:另外,ImageView.getX()ImageView.getY()存在於API級11但我不知道是否應該使用,還是應該使用layaoutparamenters.topMargin

回答

6

我知道這個問題是很老,但我會回答無論如何對於稍後搜索這些的人來說

的錯誤是在

Tween.registerAccessor(ImageViewAccessor.class, new ImageViewAccessor()); 

第一個參數是您要訪問的類,而第二個是訪問器應該被用來訪問類。

你寫了你想訪問ImageViewAccessor,但實際上你想訪問使用ImageViewAccessor的ImageView類。

它應該是這樣的:

Tween.registerAccessor(ImageView.class, new ImageViewAccessor()); 
+0

HII @dermetfan我有一個問題。 libgdx中的tmx文件有沒有限制?我有800 * 18的尺寸。相機設置爲30 * 80並設置爲正交圖表渲染器。但有時候跳躍的玩家無法與圖層相撞並墜落。有時跳得太高。任何建議.. – MGDroid 2014-03-02 07:54:33

+0

地圖大小不受限制,我懷疑它與您的問題有關。雖然只有這些小小的信息,但我不能說任何話。 – dermetfan 2014-03-10 14:28:59