collision

    2热度

    1回答

    我想写一个非常简洁的,类似于Box2D的简单对撞机 - 没有所有的物理,旋转等。我正在做这两个,以保持代码足迹微小和易于理解,也只是简单地了解这些事情的内部工作。 我想要做的就是碰撞圆圈和线条,并防止它们嵌入到彼此中。 Box2D几乎完美地做到了这一点 - 非常少量的重叠!但是,当我编写我自己的简单模拟器时,我得到了很多重叠:。 当我使用Box2D运行相同的模拟(这只是在屏幕中心追逐一个点的所有圆

    -3热度

    1回答

    好吧,所以我想构建一个方法来检测两个对象是否发生碰撞。他们的hitboxes存储在数组中。像这样[topLeftX,topLeftY,bottomRightX,bottomRightY]为这两个对象中的每一个。我无法弄清楚如果声明使用这两个数组来检测这个。 public class Physics { public static boolean isColliding(int ob1Hi

    3热度

    1回答

    我是Python和PyGame的新手。我制作了一个球和两个桨(两个桨由两名球员控制)。我的问题是当球击中球员2的球时,球没有反弹。问题出在代码底部,其中有一条评论说:#WITH PLAYER 2。 # IMPORTS import pygame, time; # INIT PYGAME pygame.init(); # GLOBALS global screen, display_w

    0热度

    1回答

    我正在制作一款游戏,并且在该游戏中,只要玩家的x>>屏幕宽度,我希望玩家的x速度= 0。但是当我尝试时,它没有工作。碰撞代码对我来说看起来很好,我认为当我打电话给player.collision()时有一些问题。 PS。对象的速度等于0时,对象x为< = 0,但不是当X是> = displayW速度不等于0 问题是下#collision to walls PYTHON # IMPORTS imp

    0热度

    1回答

    我正在玩游戏,在这个游戏中,一个物体从游戏屏幕的顶部落下,屏幕底部的玩家不得不击中物体。当玩家击中落下的物体时,玩家的宽度和高度需要增加。当我测试代码时,当玩家从侧面击中掉落的物体时,碰撞发生,但当玩家击中中间的落下物体时碰撞不起作用。有人能帮我吗? PYTHON # IMPORTS import pygame, random # GLOBALS global screen, displa

    0热度

    1回答

    我试图按照此视频:https://www.youtube.com/watch?v=pN9pBx5ln40&index=20&list=PLsk-HSGFjnaH5yghzu7PcOzm9NhsW0Urw 然而,当我运行我的程序我的性格是指仍然停留,但由于某种原因,它反弹 这是什么样子:https://gyazo.com/015b20c0e4ad64ff3905cbef5865eedc 在main.

    -1热度

    1回答

    我工作的一个空间的射手,我所做的精灵并增加了一些基本的碰撞检测,但是当我在碰撞检测增加了精灵不论是否alien与碰撞在player精灵,它给了我此错误消息: Traceback (most recent call last): File "main.py", line 93, in <module> game.new() File "main.py", line 33

    -2热度

    1回答

    我正在构建一个游戏,我目前正在研究物理。 我正在使用SAT算法来检测碰撞。在字符(AxisAlignedBoundingBox)和某些矩形(带有旋转)之间的冲突为。 一切正常,除在特定情况下在角落附近碰撞。 (这是一个相当已知的问题,但我没有找到任何好的解决方案)。 在实施例1,在第二场景中的字符应该向上移动(留在障碍物)。 它正好向左移动。 对例2,在第二个场景中字符不应该起来。有时会得到。 我

    0热度

    1回答

    我有一个精灵节点,它通过用户触摸从左向右移动。 不过目前它会退出屏幕,我想在任何一边添加一个节点,所以如果精灵节点触及它所拥抱的任一侧的节点并保持在那里,直到用户触摸使它沿相反方向行进。 这就是我想要做的,但它目前不工作。 let shipTexture = SKTexture(imageNamed: "ship.png") ship = SKSpriteNode(texture: sh

    0热度

    1回答

    所以我知道碰撞组和过滤器等,但我需要在服务器上的方式来检查子弹是否来自同一个球员。如果这只是在客户端上,那很容易,因为我可以为玩家自己的子弹创建一个碰撞组,而为敌人子弹创建一个碰撞组,但由于服务器是检测碰撞的那个,所以没有“客户端”玩家,每个玩家和子弹都是处理相同,除了附加到子弹的用户数据有一个uid。 所以基本上我想是这样的 - if(collisionA.m_userData.type ==