问题标签 [skphysicsbody]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
187 浏览

ios - 让某个精灵忽略 SKPhysicsBody

我在使精灵忽略作为 iOS 项目中的地面平台放置的 SKPhysicsBody 的效果时遇到问题。我只有一个精灵要“遵循 SKPhysicsBody 的规则”,而所有其他精灵要“通过”。我一直在寻找一种方法来做到这一点,但无济于事。有什么建议么?

0 投票
1 回答
212 浏览

collision-detection - Sprite Kit 碰撞检测和物理

大家好,我正在制作一个游戏,其中敌人不应该能够穿过游戏中的墙壁和物品,例如如果有一堵墙,敌人的角色不应该能够穿过它。但是,我无法让物理学完全正确地工作。如果敌人试图撞到像墙这样的另一个精灵,我希望它被阻止。

多谢你们。

}

}

0 投票
1 回答
1327 浏览

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

蛋道

我必须创建一个 CGPathRef 来模拟 Sprite Kit 中的物理属性。

我正在尝试通过一半圆形加上一半椭圆形来创建一个蛋形路径。鸡蛋的比例为 0.4(半圆形底部)到 0.6(半椭圆形顶部);但是,我不知道为什么什么也没发生。以下代码是路径的创建:

0 投票
0 回答
400 浏览

ios - 如何禁用 2 个 SKPhysicsBody 之间的碰撞?

我想在 spritekit 游戏中为我的超级英雄添加新的超能力。

一旦启用了这种超能力,他将能够穿过任何其他SKPhysicsBody。

将 contactTestBitMask 设置为 0x00000000 只会禁用接触检测 (didBeginContact:)。

将 dynamic 设置为 NO 将让它通过任何 SKPhysics 物体(但同时它也会禁用重力)

我希望它通过英雄而不是仅仅禁用接触检测。

如何做到这一点?

0 投票
3 回答
435 浏览

ios - 使用 bodyWithPolygonFromPath 时断言失败:蛋形的方法

我正在将物理模拟为蛋形 SKSprite 节点。但是,发生断言失败错误:

断言失败:(edge.LengthSquared() > 1.19209290e-7F * 1.19209290e-7F),函数集,文件 /SourceCache/PhysicsKit_Sim/PhysicsKit-6.5.4/PhysicsKit/Box2D/Collision/Shapes/b2PolygonShape.cpp,第 180 行.

以下是代码:

怎么了?谁能帮我解决?非常感谢!

0 投票
0 回答
125 浏览

ios - 为什么我必须将我的 SKScene 的physicsBody 缩放 1.5 以适应 iPhone 5 屏幕?

我正在 iPhone 5 上制作 SpriteKit 游戏。我遇到了一个奇怪的错误,即应该代表屏幕边缘的物理体似乎太小,并且似乎需要一个奇怪的缩放因子才能正确。

这似乎是将physicsBody设置为屏幕尺寸的正确方法:

但对我来说,这是让我的其他物理体与屏幕中间的一个不可见物体发生碰撞,并使它们直接离开屏幕边缘而不受任何干扰。

然而,这:

结果是屏幕中间完全没有奇怪的物体,并且其他物理物体如预期那样与屏幕的侧面发生碰撞。

哈什么?

0 投票
2 回答
74 浏览

ios - 是否可以检测特定身体上的不同碰撞点?

是否可以根据它与另一个物体的SKSprite接触PhysicsBody位置计算不同的碰撞状态?例如,如果一个蓝色球接触到另一个物体的侧面就会变成绿色,或者如果它接触到另一个物体的底部就会变成黄色。

0 投票
5 回答
295 浏览

ios - SKAction scaleXTo:-1

我正在尝试使用 SKSpriteNode 来镜像我的镜像,SKAction *mirrorDirection = [SKAction scaleXTo:-1 y:1 duration:0.0];但每次我这样做时,精灵的物理主体似乎都搞砸了,它会从屏幕上掉下来。我在精灵下面有几个物体(地板),它穿过所有物体,就好像它们不在那里一样。

这只发生在我镜像精灵时。有人知道怎么修这个东西吗?

更新: 不幸的是,按照建议的一个答案重置物理体并没有解决问题。似乎只有物理体的接触部分出现故障。当小家伙像石头一样下落时,重力仍然有影响。

我也尝试再次重置self.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(self.size.width, self.size.height)];

之后,self.xScale = -1;但这也没有解决问题。

0 投票
2 回答
1093 浏览

ios - 在 Sprite Kit 中为迷宫创建物理体的最佳方法?

我是 SpriteKit 和 iOS 编程的新手。我一直在做一个关于使用 SpriteKit 的迷宫游戏的新项目。我找不到任何为我的迷宫创建物理体的好方法。我试过这个很棒的工具SKPhysicsBody Path Generator但它没有用,可能是因为我的迷宫不是按照规则要求的“凸多边形路径”(我不确定,我试过一个简单的 .png 图像倒 T 形)。还有其他方法可以完成这项工作吗?

0 投票
2 回答
185 浏览

ios - 精灵套件进入/退出区域

我需要知道玩家何时进入或退出(多边形)区域。该区域由 SKShapeNodes 构成。每个 SKShapeNode 都是一条直线。

一个不错的方法似乎是通过 SKPhysicsBody 在玩家和这些线之间进行碰撞检测。如果玩家在区域内或区域外,我会通过标志进行跟踪。

但即使大小为 0.1 x 0.1,我的 SKPhysicsContactDelegate 也会收到多个 beginContact 消息。有时标记在很短的时间间隔内被翻转了很多次,它在通过周界后具有错误的值。

确定 SKNode 何时进入或退出另一个 SKNode 的正确方法是什么?