我想要实现的是一扇门,就像这样(但在2D中):
所以我想用搅拌机创造它。 第一个问题是:如何在活动背景中实现blender图像? 在此之后,我的目标是为门设置动画...换句话说,允许用户移动门关闭或打开它只需轻敲和移动它。
实现这一目标的方法是什么?我需要什么工具?如何构建项目?
PS:即使图像中的门是3D,我也会用2D绘制它...更简单。
答案 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事件侦听器或按钮单击启动的操作。