2010-12-12 27 views
0

我一直在想辦法弄清楚如何在我的資源中繪製一個drawable來製作另一個drawable。幫助使用android ClipDrawable

我有一個很大的drawable,包含了我要用來在手機上創建遊戲地圖的所有圖塊。我想如果我可以使用ClipDrawable來選擇我想要的瓷磚,而不是在photoshop上手動進行。

(這是我的第一個程序,所以我不是很擅長這個) 以下是我可以做到這一點,但我有50種不同類型的瓷磚,所以我認爲它會更容易裁剪他們都出於相同的形象。

protected void onDraw(Canvas canvas) { 


    for(int i = 0; i < Tiles.length; i++){ 

     if(Tiles[i].isVisible()){ 
     /* Make the sprite draw itself to the canvas */ 
     if(Tiles[i].Render == 0){ 
      this.tile4.setBounds(Tiles[i].mySpritePos.x, Tiles[i].mySpritePos.y, 
        Tiles[i].mySpritePos.x + 26, Tiles[i].mySpritePos.y + 26); 

      this.tile4.draw(canvas); 
     } 
     if(Tiles[i].Render == 1){ 
      this.tile1.setBounds(Tiles[i].mySpritePos.x, Tiles[i].mySpritePos.y, 
        Tiles[i].mySpritePos.x + 26, Tiles[i].mySpritePos.y + 26); 

      this.tile1.draw(canvas); 

     } 
     }} 
    } 

謝謝!

回答

0

不知道如何在給定的範圍之間裁剪,無論如何,我想剪裁完成clipDrawableObject.setLevel(level);其中水平範圍在0 to 10000之間。 setBounds方法(仍然猜測)只調整給定邊界的圖像大小。如果您需要更詳細的信息,請參閱ClipDrawable.javadraw(Canvas blabla)方法。

不過,如果我是你,我更喜歡每個瓷磚單獨的圖像文件。因爲,您在移動設備上加載了一個巨大的圖像文件,並且存在用於剪輯操作的圖像處理。無論如何,祝你好運。