Tag: 碰撞

JAVA移动和非移动圆的弹性碰撞

我正在尝试编写一个Java移动应用程序(J2ME),我遇到了一个问题:在我的项目中有一些叫做镜头的移动圆圈,以及一个叫做orbs的非移动圆圈。 当射击击中球体时,它应该通过经典的物理定律反弹。 但是我找不到这种算法。 通过轴x和y上的速度(像素/更新)描述镜头的移动。 所有关于圆圈的信息都是已知的:它们的位置,半径和镜头的速度(在轴x和y上)。 注意:在碰撞后,球体不会开始移动,它会保持在原位。 碰撞是两者之间的弹性碰撞,而球体保持静止 这是Shot类中的碰撞解决方法: public void collision(Orb o) { //the orb’s center point Point oc=new Point(o.getTopLeft().x+o.getWidth()/2,o.getTopLeft().y+o.getWidth()/2); //the shot’s center point Point sc=new Point(topLeft.x+width/2,topLeft.y+width/2); //variables vx and vy are the shot’s velocity on axis x and y if(oc.x==sc.x) { vy=-vy; return ; } if(oc.y==sc.y) { vx=-vx; return ; } // o.getWidth() returns […]

eclipse 3.4(ganymede)包与类型碰撞

我们有一个以例外结束的包 package abcexception; 我们的代码库在eclipse 3.3之前没有任何问题,但是当我们转移到eclipse 3.4时,它开始给出与这个包有关的错误: “The package abcexception collides with a type” 当我将包名重构为abcexceptions时,没有问题。 这是由于eclipse 3.4中的错误还是有一些设置来纠正这种行为?

如何修复碰撞响应中的圆和矩形重叠?

由于在数字世界中几乎从未发生过真正的碰撞,因此我们总会遇到“碰撞”圆与矩形重叠的情况。 如何在不与重叠的矩形完美碰撞的情况下放回圆圈? 假设矩形停止(零速度)和轴对齐。 我会用后验方法(二维)解决这个问题。 总之,我必须为t求解这个等式 : 哪里: 是一个回答问题的数字:碰撞发生了多少帧之前? 是圆的半径。 是圆的中心 是它的速度。 和 是返回圆和矩形碰撞的点的x和y坐标的函数(当圆圈处于时 位置,即处于与矩形完全碰撞的位置)。 最近我解决了圆圈之间碰撞的类似问题 ,但现在我不知道函数A和B的定律。

检测可以旋转的两个精灵的碰撞

我在2D Java游戏中遇到碰撞检测问题。 通常,我要做的是为可能与其他对象冲突的对象创建一个getBounds()方法。 此方法将返回一个new Rectangle(x,y,width,height) ,其中x和y是精灵左上角的坐标, width和height是精灵的宽度和高度。 但是在我正在进行的游戏中,有一个由用户控制的“坦克”。 只要玩家握住左或右箭头按钮之一,该坦克的精灵就会旋转 。 换句话说,它可以旋转到任何角度。 坦克的精灵是一个矩形。 所以我不能简单地做我在这种情况下经常做的事情。 如何检测这种精灵的碰撞? 谢谢