我需要的方向是:
我从 droidz 活动示例和 rockpaperscissors 示例中看到了如何通过用手或与墙壁碰撞时在不同方向上移动图像。
问题1:
现在我想在四个方向上移动四个不同的图像,如上图所示。而当他们碰到墙壁时,他们应该消失并从起点重新开始,一个接一个地沿着相同的方向重新开始。
问题2:
当移动时触摸其中任何一个时,它应该消失并且不应该继续循环仅针对该图像,或者应该进行另一个活动。请帮我解决这两个问题。提前致谢。
我需要的方向是:
我从 droidz 活动示例和 rockpaperscissors 示例中看到了如何通过用手或与墙壁碰撞时在不同方向上移动图像。
问题1:
现在我想在四个方向上移动四个不同的图像,如上图所示。而当他们碰到墙壁时,他们应该消失并从起点重新开始,一个接一个地沿着相同的方向重新开始。
问题2:
当移动时触摸其中任何一个时,它应该消失并且不应该继续循环仅针对该图像,或者应该进行另一个活动。请帮我解决这两个问题。提前致谢。
您可以使用 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();
}
});
更新
实现您在图片中显示的内容。这是实现该功能的简要说明
为每个视图创建一个路径数组(点的二维数组)
意见将旅行
根据需要为每个视图创建一个计时器,重复间隔为 100 毫秒或更短。
在这些计时器中,从该路径数组中获取一个点并将其传递给您的视图。
永远在该路径上循环意味着以循环方式。
设置onClck()
该视图的侦听器。
在该侦听器中取消()该视图的相应计时器并销毁该视图或将可见性设置为 GONE。
通过实现这一点,您可以轻松完成此任务。