7得票1回答
在运行时更改SpriteNode物理体大小

我希望能够在用户向下滑动时更改节点的physicsBody高度,但除了重置整个物理体外,我还没有找到如何实现此操作。 当我最初加载节点时,我使用以下代码: nodeHero.color = UIColor .grayColor() nodeHero.size.width =...

7得票1回答
Swift:设置距离的速度

我正在尝试在Swift上制作一个移动平台,为了使玩家与平台一起移动,我需要将self.moveByX()更改为physicsBody?.velocity(并给平台和玩家都加入一些摩擦力)。 因此,我创建了以下函数: self.runAction( SKAction.repeatAc...

7得票4回答
二元运算符“~=”无法应用于类型为“String”和“String?”的操作数

我有一个简单的switch语句,但实际上并不简单。 switch(bubble?.name){ //bubble is SKPhysicsBody case "largeBubble": // <= error newBubbleSize = "medium" ...

10得票1回答
SpriteKit iPhone/iPad不同分辨率,需要相同的物理效果

由于我正在将一个使用SpriteKit的iPhone应用移植到iPad,因此我已经能够使用iPhone 5的高度比例来缩放所有屏幕元素和字体大小。 一切看起来都成比例,除了物理属性,因为有更多的区域。 所以问题是,如何使用该高度比例沿着屏幕缩放物理属性? 也许改变所有节点的密度或质量?我...

8得票2回答
如何设置圆形的物理属性,使其沿着给定路径移动。

物理圆体的运动对于我想要实现的目标来说太过不规则。我希望限制它,使其沿着特定路径触碰到特定点(或一系列点),如下图所示。我该如何设置物理属性以遍历类似的路径?

8得票1回答
如何复制带有SKPhysicsBody的SKSpriteNode?

今天我在尝试从一个SKScene复制和取消归档一个SKSpriteNode的时候,遇到了一个有趣的情况。从下面游乐场的输出中可以看到,在复制后linearDamping和angularDamping都没有被保留(它们似乎回到了默认值)。 // PLAYGROUND_SW1.2 - SKSpr...

7得票1回答
SKSpriteNode子类:移除所有关节的方法

我创建了一个SKSpriteNode的子类。我使用类型为SKPhysicsJointLimit的连接将该类的实例连接在一起。我在我的GameScene中的didEndContact(contact: SKPhysicsContact)函数中实现这个功能。 var joint = SKPhys...

14得票2回答
无法理解碰撞位掩码的工作原理

我正在尝试在Swift中使用碰撞位掩码和联系测试位掩码,我希望两个对象不会发生碰撞,所以我正在做以下事情:firstNode.physicsBody?.collisionBitMask = 0b01 secondNode?.collisionBitMask = 0b10 因为SpriteKit...

16得票2回答
applyForce(0, 400) - SpriteKit 不一致

我有一个具有物理Body并受重力影响的对象。它也是动态的。 当前,当用户触摸屏幕时,我运行以下代码: applyForce(0, 400) 该对象向上移动约200个单位,然后由于重力而下落。这只发生在某些情况下。其他时候,它只会以大约50个单位的Y方向移动。 我找不到规律...我将我的...

9得票5回答
SKPhysicsBody bodyWithPolygonFromPath内存泄漏问题

当我使用自定义形状创建Sprite Kit物理体时,出现了奇怪的内存泄漏。这是我的实现方式: CGFloat offsetX = self.frame.size.width * self.anchorPoint.x; CGFloat offsetY = self.frame.size.hei...