如何按要求的方向移动物体?

时间:2012-11-29 12:21:04

标签: android

我要求的指示是:<​​/ p>

enter image description here 我从droidz活动示例和rockpaperscissors示例中看到了如何通过使用手或与墙壁碰撞来向不同方向移动图像。

Issue1:

现在我想在四个方向上移动四个不同的图像,如上所示。当他们触摸墙壁时,它们应该消失并从起点一个接一个地重新开始并再次沿着相同的方向。

Issue2:

当移动时触摸其中任何一个时,它应该消失并且不应该仅继续为该图像循环,或者它应该进行另一个活动。 请帮我解决这两个问题。在此先感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用API​​ 11中提供的这些功能

((TextView)findViewById(R.id.textView)).setTranslationX(200);
((TextView)findViewById(R.id.textView)).setTranslationY(300);

<强>更新 试试这段代码示例代码。

    final TextView tv = (TextView)findViewById(R.id.textView);
    new Timer().schedule(new TimerTask() {

        @Override
        public void run() {
        MainActivity.this.runOnUiThread(new Runnable() {

            public void run() {
                tv.setTranslationX(tv.getTranslationX()+10);
                tv.setTranslationY(tv.getTranslationY()+10);
                tv.invalidate();

            }
        });

        }
    }, 1000 , 1000);
    tv.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Toast.makeText(getApplicationContext(), "Clicked!", Toast.LENGTH_SHORT).show();

        }
    });

更新

实现您在图片中显示的内容。这是实现该

的简要说明
  • 为每个

    视图创建一个路径数组(一个2D点数组)

    观点将会旅行

  • 为每个视图创建一个定时器,重复间隔为100毫秒或更短 根据需要。

  • 在那些计时器中从该路径数组中获取一个点并将其传递给您 图。

  • 循环在该路径上永远是循环方式。

  • 设置该视图的onClck()侦听器。

  • 在该侦听器中取消()该视图的相应计时器和 销毁该视图或将可见性设置为GONE。

通过实施这一切,您可以轻松完成此任务。