我想知道的是一扇門,這樣的(但在2D):圖形和活動
所以我鑫卡特用攪拌機創建它。 第一個問題是:如何在活動背景中實現攪拌機圖像? 在此之後,我的目標是爲門設置動畫...換句話說,允許用戶移動門以關閉或打開它,然後輕敲並移動它。
實現此目的的方法是什麼?我需要什麼工具?如何構建項目?
PS:即使圖像中的門是3D,我也會用2D繪製...更簡單。
我想知道的是一扇門,這樣的(但在2D):圖形和活動
所以我鑫卡特用攪拌機創建它。 第一個問題是:如何在活動背景中實現攪拌機圖像? 在此之後,我的目標是爲門設置動畫...換句話說,允許用戶移動門以關閉或打開它,然後輕敲並移動它。
實現此目的的方法是什麼?我需要什麼工具?如何構建項目?
PS:即使圖像中的門是3D,我也會用2D繪製...更簡單。
您可以使用圖像作爲背景與ImageView
。這樣
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/door" />
</LinearLayout>
然後在Java中,無論你聽水龍頭或點擊事件,事情做這樣的事情
ImageView background = (ImageView) findViewById(R.id.background);
background.setImageResource(R.drawable.doorclosed);
切換到其他圖像。
那麼,如果你把一個PNG序列(開門動畫)並得到輕敲滑動從用戶移動,你可以使門的動畫(開/關)只是前後移動,操縱幀率。
Craigy的回答是正確的,但是,這隻會產生兩個狀態「打開」和「關閉」。爲什麼不在門關閉的不同階段創建一組或一系列圖像,然後使用;
final Handler handler = new Handler();
for (i = 0; i < 5; i++){
handler.postDelayed(new Runnable() {
public void run() {
switch (i){
case 0:
plate.setImageResource(R.drawable.door0);
break;
case 1:
plate.setImageResource(R.drawable.door1);
break;
case 2:
plate.setImageResource(R.drawable.door2);
break;
case 3:
plate.setImageResource(R.drawable.door3);
break;
case 4:
plate.setImageResource(R.drawable.door4);
break;
}
}
},"insert a number for the delay s ie. 10)";
}
在短暫的延遲後呈現每個圖像。這可能是由ontouch事件偵聽器或按鈕單擊啓動的操作。
我相信你可以使用OpenGl來顯示在例如攪拌機。 –