首页 文章
  • 1 votes
     answers
     views

    SpriteKit SKPhysicsBody 破坏了碰撞

    我有一个SKSpriteNode,它有一个静态体,由edgeChainFromPath的凹路径生成。让我们称这个节点为房子。 我还有另一种具有动态方体的SKSpriteNode,用rectangleOfSize生成。我们称这个节点为框。 在我的场景中,箱被投掷,也被冲进了房子,因为他们两个都有尸体,箱应该与房子碰撞并反弹。 我正在滚动场景,因此创建了上面描述的完全相同的房子**的新实例。 我遇到的...
  • 2 votes
     answers
     views

    Swift / SpriteKit - 碰撞和对象

    我有一个名为Item的类,里面有一个名为itemNode的实例变量,它的类型为SKSpriteNode . 在我的GameScene类中,当我创建Item的实例时,我创建了一个物理主体,该物理主体被赋予Item的itemNode . 在我的碰撞检测系统中,当我的角色的物理体与itemNode的物理体碰撞时,我想在Item对象上预先形成一个函数,该对象的节点的物理体刚刚碰撞 . 但是,碰撞系统只返回...
  • 2 votes
     answers
     views

    调整使用SKPhysicsBody(circleOfRadius :)创建的SpriteKit SKPhysicsBody的大小

    我正在构建一个SpriteKit "chain reaction"游戏,其中圈子变大,因为它们是"explode" . 我正在使用 SKPhysicsBody(circleOfRadius:) 初始化程序为圆圈创建物理主体 . 不幸的是,这些物理机构没有我可以设置的暴露 .radius 属性 . 有没有办法在SpriteKit中调整物理体的大小,或者我是否需...
  • 3 votes
     answers
     views

    Swift SpriteKit碰撞多次注册

    我正在使用SpriteKit和Swift来构建iPhone游戏,我的碰撞检测系统无法正常运行 . 当我的“子弹”物理体和我的“玩家”物理体碰撞时,碰撞检测功能被多次调用,通常是4-12次 . 我已经尝试将“usesPreciseCollisionDetection”设置为true,但它仍然存在问题 . 此外,当子弹以一定角度而不是直接击中玩家时,似乎更多次调用该方法 . 有任何想法如何解决这个问题...
  • 4 votes
     answers
     views

    设计圆形以外的物理实体

    我正在使用SpriteKit进行我的第一场比赛,以及我一直在使用的敌人外星人(SKSpriteNode子类)物理机构: self.physicsBody = SKPhysicsBody(circleOfRadius: self.size.width/2) 到目前为止,大多数外星人都是圆形的 . 但是,如果我有椭圆形或方形外星人,那么设计物理机构的最佳方法是什么?我尝试了这个方形: let squa...
  • 2 votes
     answers
     views

    Sprite Kit Physics Body Complex Shape - Spritekit

    我有这种情况:http://mokainteractive.com/example.png 我想将白球移到红色轨道内,并检测球在何处接触红色轨道的极限 . 哪个是最好的解决方案?我必须沿边界创建多个透明形状?你有其他想法吗?非常感谢
  • 2 votes
     answers
     views

    spritekit中不规则形状的物理实体

    我为我的一个物理机构制作了以下代码: CGFloat offsetX = ship.frame.size.width * ship.anchorPoint.x; CGFloat offsetY = ship.frame.size.height * ship.anchorPoint.y; CGMutablePathRef path2 = CGPathCreateMutable();...
  • 3 votes
     answers
     views

    如何用CGPathRef创建蛋形物理体?

    我必须创建一个CGPathRef来模拟Sprite Kit中的物理属性 . 我试图通过一半的圆形加上一半的椭圆形来创建一个蛋形路径 . 鸡蛋比例为0.4(半圆底部)至0.6(半椭圆形上部);但是,我不知道为什么一无所获 . 以下代码是创建路径: self.egg = [SKSpriteNode spriteNodeWithImageNamed:IMAGE_NAME_EGG]; [self...
  • 0 votes
     answers
     views

    swift spritekit物理体在一个奇怪的地方实现

    我想把一个物理体放到一条线上 . 由于某种原因,物理体最终会在左下角实现 . 如何控制物理体的位置?我的印象是,一旦我将身体贴在一个形状上,它就会自动形状 . 这是代码: var distance = calculateDistance(wayPoints[wayPoints.count-1], point2: wayPoints[wayPoints.count-2]) var line...
  • 0 votes
     answers
     views

    创建自定义物理实体

    我很难用手工方式使用 CGPath 来做到这一点 . 在iOS8上,我们可以为 SKPhysicsBody 调用 bodyWithTexture 方法,但是在iOS7中,我必须手动执行 . 是否有一种简单的方法来制作复杂纹理的物理体? Dazchong网站已关闭,我尝试了其他一些没有帮助的工具 .
  • 0 votes
     answers
     views

    将物理主体锁定到X轴Spritekit Swift

    我有一个节点,我想锁定到x轴 . 我在节点上有一个冲动(如下所示) . rectangle.physicsBody!.applyImpulse(CGVectorMake(-11,0)) 节点在x轴上开始,但是一旦它与另一个物理体接触,它就会在y轴和x上飞起 . 我想知道如何将其锁定到x轴,使其无法向上或向下移动 . 任何帮助,将不胜感激 .
  • 1 votes
     answers
     views

    SpriteKit中的多个物理实体

    我有一个40x40的矩形节点,我想检测底部触及平台的时间 . 我试过这个 let feet = SKPhysicsBody(rectangleOfSize: CGSize(width: hero.frame.size.width, height: 1), center: CGPoint(x: 0, y: -(hero.frame.size.height/2 - 0.5))) 然后设置 categ...
  • 0 votes
     answers
     views

    Spritekit - 将加速应用于物理主体

    我正在开展一个项目,我有一个受重力影响的节点 . 我希望能够在不接触重力的情况下对该节点应用垂直加速度 . 就像一个热气球,我会上下移动,而其他物体通常仍然受到重力的影响 . balloon = Vehicle() balloon.physicsBody = SKPhysicsBody(polygonFrom: path) balloon.physicsBody?.affectedByGravit...
  • 0 votes
     answers
     views

    SpriteKit蛇 - 关节和物理

    我正在开发我的游戏 - 适用于iOS的Snake . 我的发展已经过了这个阶段,但我想对它进行一些改进 . 经过多次尝试和错误后,我完全忽略了SpriteKit提供的物理/运动和碰撞检测,并且我继续使用自己的实现 . 也许在你的帮助下,我可能会重构这部分游戏 . 我的蛇可以转向所有可能的方向(360度) . 没有引力 . 如果您希望将代码偏移到现有SpriteKit实现的代码,您将如何设置您的物理...
  • 4 votes
     answers
     views

    我的物理联系人没有在SpriteKit中联系

    这是我在堆栈上发布的第一个问题 . 我正在使用Xcode 7.3.1,iOS 9.3和Swift 2.还在模拟器和我的iPad上直接测试 . 我做了大量的搜索,阅读了2本Spritekit Physics书籍,观看了大量的视频教程以及书面教程 . 我以前写的身体物理没有问题,而且很多时候都有较小的项目,但这个只是给我没有反馈 . 这个问题之前已在特定情况下提出过,即2次与同一spritenode的...
  • 0 votes
     answers
     views

    在Spritekit上的SKTileMapNode中设置物理主体

    我正在使用Spritekit和SKTileMapNode . 我有一些瓷砖,我想为它们添加一个用于产生碰撞的物理体 . 我怎样才能做到这一点?
  • 1 votes
     answers
     views

    当一些物体离开物理边缘时,如何修复一些物理体的行为?

    我正在玩一个有物理世界的游戏 . 我在整个场景周围创建物理盒,以防止精灵从屏幕上消失 . 但问题是,当我向场景中添加太多物体时,其中一些物体会离开这个物理盒 . 这是场景周围的物理盒: homeArea.size = CGSizeMake(self.frame.size.width, self.frame.size.height) homeArea.position = CGPointMa...
  • 4 votes
     answers
     views

    子类化SKSpriteNode时物理主体的问题?

    我在子类化SKSpriteNode时遇到了问题 . 这是我的子类实现: @implementation SSSquirrel - (id) init { if (self = [super init]) { // Create Squirrel and physics body SKSpriteNode *squirrel = [SKSpriteNode ...
  • 0 votes
     answers
     views

    SK Physics Body不会与Edge Physics Body碰撞

    我是Sprite Kit的新手,我正在尝试设置一个简单的游戏,其中一个被丢弃的对象停留在屏幕的范围内 . 但是,当我放下物体时,它不会像它应该的那样与屏幕的边缘碰撞,它只是通过 . 我设置了我的场景和围绕它的边缘循环 . // Create and configure the scene. SKScene * scene = [MyScene sceneWithSize:skView.bounds...
  • 1 votes
     answers
     views

    从数组中多次使用SKSpriteNode

    我正在处理的应用程序有多个节点,这些节点会重复添加到游戏中 . 我一直在做的是使用纹理数组创建新的SKSpriteNodes,一旦添加了节点,我就为该节点分配一个特定的物理体 . 但我想要做的不是拥有一个纹理数组,而是拥有一个预先分配了物理主体的SKSpriteNodes数组 . 我相信我已经弄清楚如何做到这一点,我遇到的问题是当我尝试将SKSpriteNode多次添加到场景时 . 例如,下面是我...
  • 0 votes
     answers
     views

    SpriteKit SKNode不会与边缘发生碰撞

    我正在使用Swift在SpriteKit中制作游戏 . 我不能为我的生活弄清楚为什么我的节点不会碰撞并从屏幕反弹,这是SKSpriteNode的默认行为 . 这是我在三个不同文件中的所有代码: GameViewController: override func viewDidLoad() { super.viewDidLoad() let skView = view as! SK...
  • 0 votes
     answers
     views

    SpriteKit Swift - 接触时不触发

    所以我正在玩Swift和SpriteKit . 我决定创造一个简单的游戏,一个角色将走到一个硬币的胸部,并获得所有的宝藏 . 我试图检测两个物体何时相互接触,但似乎没有发生任何事情 . 我做了什么: 1)我设置代表: SKPhysicsContactDelegate 2)创建场景: override func didMoveToView(view: SKView) { backgrou...
  • 1 votes
     answers
     views

    使物理主体在对象上具有一定的大小和位置 . (SpriteKit)

    我正在创建一个项目(钓鱼游戏),该项目涉及一条长线,末端有一个钩子,用于捕捉在屏幕上移动的物体(鱼) . 当鱼与钩子碰撞时我想要一个功能运行 . 但是我只希望函数在挂钩被联系而不是线路的其余部分时运行 . 钩子是与线路相同的SKSpriteNode的一部分 . 如何使线的物理体位于最底部,以便仅在鱼撞到线的底部或底部时调用该函数?我已经知道如何改变物理体的大小而不是位置 .
  • 2 votes
     answers
     views

    具有Gravity False的SpriteKit节点倾斜到位

    我正在 Build 一个菜单Game Scene,我有一个Logo和4个按钮,所有这些都有一个带有图像矩形大小的SKPhysicsBody . 所有这些我只设置: logo.physicsBody = SKPhysicsBody(rectangleOf: logo.size) logo.physicsBody?.affectedByGravity = false 创建对象的完整代码(都是相同的)...
  • 3 votes
     answers
     views

    SKPhysicsWorld在缩放节点中模拟物理

    我正在尝试构建一个SpriteKit游戏,它涉及物理体的水平,可以放大和缩小 . 物理世界的行为并不像我预期的那样,并且当缩放级别改变时会导致奇怪的事情发生 . 具有物理实体的节点按照预期动画和运行 . 放大水平是通过捏合手势来处理的,该手势正在调整包含所有游戏元素的单个“世界节点”的比例 . 这是处理它的一种方便方法,因为缩放场景似乎做了可怕的事情,并且它可以很容易地为世界节点顶部的任何游戏界面...
  • 1 votes
     answers
     views

    节点在另一个Node的顶部,都有物理身体,只想检测大多数顶级物理体 - SpriteKit / Swift

    在Swift和SprieKit中创建游戏 . 我有2个节点,一个BridgeNode和WaterNode . 一个在另一个之上 . 两者都有物理机构来检测玩家何时在水中的桥上 . 两个节点都独立添加为场景的子节点 . 当玩家节点跳转到Bridge时,DidBegin会检测到与Water和Bridge节点的联系 . 我只希望它能够检测到Bridge节点,因为玩家安全地在桥上或者玩家在水中 . fun...
  • 3 votes
     answers
     views

    恢复原状 0 的 SKPhysicsBody 仍然反弹

    我正试图以恒定的速度放弃 SKSpriteNode 并且没有弹跳。 这是我正在使用的代码: SKSpriteNode *floor = [SKSpriteNode spriteNodeWithColor:[UIColor clearColor] size:CGSizeMake(self.size.width, 1)]; floor.physicsBody = [SKPhysicsBody body...
  • 1 votes
     answers
     views

    iOS - SpriteKit:ApplyImpulse 不适用于 SKSpriteNode

    我对 SpriteKit 有点新意,我遇到了一些物理问题,我尝试了很多东西让 SKSpriteNode 用力或冲动移动,但它永远不动,只有重力影响它才能设置它。 -(id)initWithSize:(CGSize)size { if (self = [super initWithSize:size]) { self.anchorPoint = CGPointMake(0....
  • 3 votes
     answers
     views

    SpriteKit 物理体在与关节连接时不会发生碰撞

    我正在评估 iOS SpriteKit 物理引擎,为了测试,我创建了一个包含两个 circle-shaped 节点的 Xcode 的简单场景: 两个节点都具有圆形和 5 千克质量的物理体。我用SKPhysicsJointSpring连接两个节点。这是整个设置(在viewDidLoad()中): let path = NSBundle.mainBundle().pathForResource(&q...
  • 2 votes
     answers
     views

    迅速:未检测到精灵套件冲突和位掩码

    以下 Sprite Kit 代码有问题。我正在尝试检测一个飞球何时与一条线碰撞。但是,当两个碰撞时,什么也不会发生。但是,当球击中场景边缘时,将打印以下内容: 接触 1 bitmask1:4294967295 bitmask2:4294967295 问题 1:为什么未检测到线和球碰撞?问题 2:为什么边碰撞时两个位掩码都相同?如果我不知道哪个是身体,我将无法工作。 struct PhysicsCa...

热门问题