java - 两个imageView Android之间的碰撞

标签 java android collision-detection

我正在尝试检测两个 ImageView 组件之间的碰撞。

这是我到目前为止编写的碰撞代码:

ImageView iconBall;
ImageView iconBloc;
Rect rectBall = new Rect();
Rect rectBloc = new Rect();

textCollide = (TextView) findViewById(R.id.textCollision);
iconBall.getHitRect(rectBall);
iconBloc.getHitRect(rectBloc);
collision = rectBall.intersect(rectBloc);

textCollide = (TextView) findViewById(R.id.textCollision);
iconBall.getHitRect(rectBall);
iconBloc.getHitRect(rectBloc);

if (Rect.intersects(rectBall,rectBloc)) {
    textCollide.setVisibility(View.VISIBLE);
    textCollide.setText("coucou y a collision fdp");
    collision = true;
    Game.this.finish();
}

有什么建议吗?

最佳答案

您不需要这部分代码:

textCollide = (TextView) findViewById(R.id.textCollision);
iconBall.getHitRect(rectBall);
iconBloc.getHitRect(rectBloc);

你在 if 条件下有什么就够了, 通过在手机的开发者选项上启用显示触摸,您可以在运行应用程序时检查像素坐标。

关于java - 两个imageView Android之间的碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36138532/

相关文章:

java - "throw(e)"和 "throw e"之间的区别?

java - 如何在java中的方法中创建并返回枚举

android - 一项 Activity 和所有其他 fragment

javascript - Android:如何在加载资源时显示动画启动画面

algorithm - 分离轴定理 - 包含和最小平移向量

java - DocumentBuilderFactory#newInstance() 如何成为抽象工厂模式的一个例子?

java - 如何更改线图 JavaFX 的颜色

android - 在Android Studio中不起作用后,Gradle应该运行

python - 与敌人碰撞时减去生命不工作pygame

python - Pygame 移动 Sprite 上的鼠标点击检测