作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在用 Java 开发一个小游戏,你在玩一个小盒子,目标是触摸其他盒子。你使用按钮四处移动,当你触摸另一个盒子时,我希望那个不是播放器的盒子消失。
我不确定如何检测盒子何时相互接触。
我在想:
if (mainBox is touching otherBox){
otherBox.disappears();
}
如有任何帮助,我们将不胜感激。
最佳答案
典型的碰撞逻辑是通过比较点来完成的。
因为你的正方形的典型绘制点是左上角,所以基本逻辑是这样的:
p = playerBox
t = targetBox
if((t.x>=p.x && t.x<=p.x+p.w) || (t.x+t.w>=p.x && t.x+t.w<=p.x+p.w)){
if((t.y>=p.y && t.y<=p.y+p.h) || (t.y+t.h>=p.y && t.y+t.h<=p.y+p.h){
System.out.println("Player p collided with target t!");
}
}
可能有点难读,但基本思想是检查目标的任何点是否在玩家内部。
关于java - 如何让物体在另一个物体接触后消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23894363/
我是一名优秀的程序员,十分优秀!