我正在打乒乓球,发现很难编写一种能够正确地使球从四壁弹回的算法(我将在稍后处理得分,因为只有西+东双方会成为进球)。所以此刻,我希望球在盒子周围弹跳。 检测球是否撞到墙壁很容易,但是我在计算新角度时遇到了麻烦。 到目前为止,这是我想出的: if(dstY == 0) { // North wall if(angle < 90) { newAngle = angle + 90; } else { newAngle = angle - 90; } } else if(dstX == maxWidth) { // …

2020年11月19日 0条评论 15点热度 阅读全文

我想在3d空间(使用Java(无java3D))中制作一个三角形碰撞检测器(或通常来说是平面/区域碰撞)。我被碰撞部分挡住了,那是计算机检测到两个三角形的区域相交的地方。我想在2种形状发生碰撞并停止发生碰撞时触发某种事件,而我实际上不知道从哪里开始。我考虑在3d中进行SAT,但在3d环境中应用它似乎很昂贵。有没有更好的方法来检测3d空间中形状的3d碰撞? SAT解释:http://www.dyn4j.org/2010/01/sat/ 编辑在具体情况下,这对于检测棱镜的面部碰撞将非常有用 解决方案如下: 光线,平面和…

2020年11月16日 0条评论 63点热度 阅读全文

我正在编写游戏并致力于碰撞。目前,我正在尝试使用tileCollision函数返回包含2个数字的1维数组;角的坐标。 (在程序中由cX和cY表示) 我希望它可以顺利运行:也就是说,如果没有冲突,则返回{-999,-999},否则返回一个有效的坐标集。不幸的是,IntelliJ告诉我,goodCX和goodCY变量“可能尚未初始化”,我不知道如何解决。运行程序会给我同样的错误。 Tile类可以视为包含X值,Y值和纹理的类。 t.texture.width和t.texture.height应该设置为50,以使其更易于理…

2020年10月9日 0条评论 9点热度 阅读全文

我编写了这种碰撞检测算法来检测两个多边形何时发生碰撞,它仅保证只有一个多边形在移动时才起作用,如果两个多边形都在移动,则即使应该发生碰撞,该函数也会返回false。 public boolean detectCollision(GameObject g1, GameObject g2) { for(int n=0;n<g2.object.npoints;n++) { if(g1.object.contains(g2.object.xpoints[n], g2.object.ypoints[n])) { ret…

2020年7月7日 0条评论 15点热度 阅读全文

我一直在尽力解决Pacman与墙壁之间的碰撞检测问题,但是我的实现似乎无法正常工作 冲突检测完全起作用吗?是 行为是否正确?没有 目前表现如何?当您碰壁时,它会停止吃豆子可以移动,但是任何新按键只能移动图像轴(取决于按键的向上,向右,向下或向左),碰到墙后,它不会将吃豆人移动到当前位置以外。 任何帮助将不胜感激。提前致谢 GamePanel.java package pacman; import java.awt.Color; import java.awt.Graphics; import java.awt.Gr…

2020年6月6日 0条评论 26点热度 阅读全文

这是我在同一地区遇到的第二场比赛...第一个我什至不知道我怎么解决。坐标系也加倍。 这是物理类的“更新”代码,将被世界上所有对象(玩家,敌人,物品)继承。所有这些对象都必须能够服从与世界的碰撞,因此...当它们具有xSpeed或ySpeed时,这部分代码将运行以应用并“击中”该对象到正确的空间(如果它碰到了实体) (称为状态2)世界图块。每个世界图块均为20x20像素。 问题:除了...之外,它的工作原理都很好。 如果捕捉到正确的图块,则无法向上或向下移动。 (尽管您可以向左移动,然后向上或向下移动) 如果捕捉到底…

2020年4月27日 0条评论 16点热度 阅读全文

我在学位类(class)中听说,如果新的Key条目与另一个碰撞,则HashTable会将新条目放入“下一个可用”存储桶中。 如果使用冲突键向后调用时发生此冲突,那么HashTable仍将如何返回正确的值? 我假设Keys是String类型,并且hashCode()返回说Java生成的默认值。 如果我实现自己的哈希函数并将其用作查找表的一部分(即HashMap或Dictionary),那么存在哪些应对冲突的策略? 我什至看到与质数有关的注释! Google搜索中的信息不太清楚。 解决方案如下: 哈希表以两种方式之一处…

2020年3月14日 0条评论 17点热度 阅读全文

我正在创建一个游戏,用户可以将某些对象移动到其他对象(这些是矩形)中,但是我只希望能够从一侧输入矩形,而其余部分将阻止该矩形。 我不知道该怎么做,我在Google上搜索后发现没有任何东西可以帮助我理解我需要做的事情。另外,如果矩形成一个角度(例如45度倾斜度),我该怎么做? 任何帮助表示赞赏。 谢谢 汤姆 解决方案如下: 汤姆,如果您是游戏世界的新手,则需要搜索有关Android游戏引擎的更多信息。实际上,您需要在android中搜索有关碰撞检测的更多信息。 如需更多帮助,请尝试阅读有关此游戏引擎的更多信息:htt…

2020年3月7日 0条评论 17点热度 阅读全文

大家好,我正在制作2D Java游戏,并且我试图找出如何制作良好的碰撞代码。我目前正在使用以下代码: public void checkCollision() { Rectangle player_rectangle = new Rectangle(player.getX(),player.getY(),32,32); for(Wall wall : walls) { Rectangle wall_rectangle = new Rectangle(wall.getX(), wall.getY(), 32,32);…

2020年2月16日 0条评论 12点热度 阅读全文

Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为 on-topic用于堆栈溢出。 6年前关闭。 Improve this question 我正在进行一项技术测试,下面给出了问题说明,但我没有得到确切的答案,请通过提供一些示例代码来帮助我。 Implement a hash-map data structure from scratch , where both key and v…

2020年2月4日 0条评论 32点热度 阅读全文