图形和活动

时间:2011-11-05 12:51:39

标签: android image animation android-activity

我想要实现的是一扇门,就像这样(但在2D中):enter image description here

所以我想用搅拌机创造它。 第一个问题是:如何在活动背景中实现blender图像? 在此之后,我的目标是为门设置动画...换句话说,允许用户移动门关闭或打开它只需轻敲和移动它。

实现这一目标的方法是什么?我需要什么工具?如何构建项目?

PS:即使图像中的门是3D,我也会用2D绘制它...更简单。

3 个答案:

答案 0 :(得分:2)

好吧,如果您放置一个png序列(门开口的动画)并从用户处移动滑动,您可以使门的动画(打开/关闭)前后移动,操纵帧率。

答案 1 :(得分:0)

您可以将图片用作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);

切换到另一张图片。

答案 2 :(得分:0)

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事件侦听器或按钮单击启动的操作。