skphysicsbody相关内容
我有一个游戏,其中圆形物体从屏幕底部弹起,我希望能够滑动它们以朝我滑动的方向轻弹它们.我的问题是,我不知道如何计算滑动的矢量/方向,以便让圆形物体以适当的速度在正确的方向上轻弹. 我使用的静态向量“(5,5)"需要通过滑动速度和滑动方向来计算.另外,我需要确保一旦我第一次接触到物体,它就不再发生,以免双重撞击物体.这是我目前正在做的事情: -(void)touchesMoved:(NSSe
..
所以我不确定这是否可能,但我正在尝试调整物理体以配合我的图像.很多人告诉我,我在 iOS App Store 上的游戏中的角色的碰撞箱(StreakDash - 去下载吧!)效果不佳,因为它使游戏变得更加困难(即使角色碰撞到了障碍物)似乎甚至没有触摸它).这是因为 hitboxes 是矩形的,而我的角色有一个奇怪的形状.有没有办法解决这个问题?我想到了一些不完全奏效的方法(例如,尝试将实际的框架/
..
以下代码给出错误 - 物理关节数组似乎具有 PKPhysicsJoint 类.任何人都知道如何在 Swift 中遍历关节? documentation 确实说physicsBody.joints 应该返回一个SKPhysicsJoint 数组. 导入SpriteKit让场景= SKScene(大小:CGSize(宽度:200,高度:200))让 nodeA = SKNode()让 node
..
在 的帮助下在这里 我已经让一个圆形体穿过给定的路径.我在一些路径点有一些尸体,并在 didBeginContact 中记录了联系.当身体与特定身体接触时,圆形身体将变为矩形.假设这个矩形体穿过与原始圆形体相同的路径,但由于没有记录接触,它没有到达路径点.我也尝试将 radiusPoint 更改为矩形的宽度或高度,但这没有用.矩形体也比圆形体大.如何让矩形穿过识别出接触的点?请看下面的代码.
..
我想在 sprite-kit 游戏中实现经典的“爆头"效果. 我的想法和尝试: 在同一个精灵上创建单独的“body"和“head"physicsBodies,并用关节固定它们.不可能:( 在“敌人"精灵上创建一个“body"物理体,并创建另一个透明精灵,其“头部"physicsBody 跟随身体(位于顶部).这种方法要求我跟踪什么头部与什么身体相关联.它还会降低游戏效率.我很好奇
..
我想使用 allContactedBodies 而不是 didBeginContact &没有结束联系. 当我这样做时: NSLog(@"%@", node.physicsBody.allContactedBodies ); 并且正确的接触发生在对象上,我得到类似的东西: “< SKPhysicsBody>类型:其中矩形> representedObject:并[d
..
我想使用 applyImpulse 方法在基于 PhysicsBody 旋转的方向上移动一个physicsBody. 例如,physicsBody 是一个正方形,我称之为“移动",它会施加一个脉冲使其垂直向上移动.然后我调用一个方法将physicsBody 向右旋转45 度.如果我再次调用“move"方法,physicsBody 将沿对角线向右和向上移动. 解决方案 我建议你遵循 S
..
我目前有一个布娃娃图,它由一个父节点(没有附加物理体)和许多子节点组成,每个子节点都由一个圆形体组成.圆圈之间使用 SKPhysicsJointPin 相互连接,如下所示: 每个 SKPhysicsJointPin 都有 shouldEnableLimits = true,我目前为 lowerAngleLimit 和 upperAngleLimit 分别. 这很有效,并且可以防止形状过
..
当我将使用 SpriteKit 的 iPhone 应用程序移植到 iPad 时,我已经能够使用 iPhone 5 与 iPad 屏幕的高度比来缩放所有屏幕元素和字体大小. 一切看起来都是成比例的,除了物理,因为面积更大. 所以问题是,我如何使用该高度比缩放物理和屏幕? 也许会改变所有节点的密度或质量?我将如何做到这一点,在数学上使用比率使其完美? 解决方案 您可以配置 S
..
我目前正在使用 iOS 8 SpriteKit API,并且很难使用 SKFieldNode 创建有吸引力的磁力.我可以很好地产生相反的磁力,但是我不能反转磁场.这是我目前拥有的: touchField = [SKFieldNode 磁场];touchField.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:(self.frame.si
..
当球与杯子碰撞时,分数应该增加 1.但目前它会增加 1、3 或有时是 4,这意味着多次检测到碰撞. 我想我一定是错误地检查了碰撞: 让 ballCategory : UInt32 = 0x1 在我的 didMoveToView 中: //将场景的physicsBody设置为与屏幕接壤的物理体self.physicsBody = SKPhysicsBody(edgeLoopFrom
..
这是之前提出的,但原来的提问者不需要更改动态属性,所以他通过取消提问来回答自己的问题. 我在 iOS7 中使用 Sprite Kit,我希望能够在运行时更改 SKPhysicsBody 的动态属性.最初我在 touchesBegan: 方法中改变了它.Apple Dev 论坛中有人建议将更改移至 didSimulatePhysics: 方法,但这也无济于事. 此代码导致错误: -(v
..
您好,我正在尝试修复这个 spritekit 的物理形状倒置的错误. [SKPhysicsBody bodyWithTexture:monsterTexture size:monsterTexture.size] 怪物第一次出现时,物理身体方向是正确的.但是第二次和之后的每一次怪物出现时,它的物理身体都会沿着 Y 轴倒置.参见图片 skView.showsPhysics = true; 显示物
..
我正在尝试在 Swift 中使用碰撞位掩码和接触测试位掩码,我希望两个对象不要碰撞在一起,所以我这样做了: firstNode.physicsBody?.collisionBitMask = 0b01secondNode?.collisionBitMask = 0b10 由于 SpriteKit 对这两个数字进行 AND 操作,结果不应该是 00,因为 10 &01 = 00 ? 那么为
..
我使用 SKNode 的 xScale 属性水平翻转我的精灵.现在,在将 iOS 更新到 7.1 版后,水平翻转会导致我的对象沉入地下.(见下面的动画).该问题仅出现在 xScale 属性中.垂直翻转工作正常. //初始化{SKSpriteNode* ground = [SKSpriteNode spriteNodeWithColor:[UIColor blackColor] size:CGSi
..
我的场景中间有四个正方形,分别设置了不同的锚点.轻按时,它们会一起移动并根据位置分开: func rotate(angle : CGFloat, animated : Bool) {var rotateAction:SKAction!如果动画{rotateAction = SKAction.rotateByAngle(角度,持续时间:0.6)}别的 {rotateAction = SKActi
..
func didBeginContact(contact: SKPhysicsContact) {if (contact.bodyA.categoryBitMask & BodyType.shield.rawValue) == BodyType.shield.rawValue {contact.bodyB.node?.removeFromParent()计数器++println(计数器)} el
..
我的场景有一堆矩形,其物理实体与矩形大小相同.我喜欢将我的所有对象都锚定到 CGPointZero,但是我注意到当我这样做时,物理体仍然锚定在中间.换句话说,我的物理体的位置在视觉表示的左侧低 100 像素. 下面是一段简单的代码: SKSpriteNode* square = [SKSpriteNode spriteNodeWithColor:[SKColor blackColor] s
..
所以我有一个物体,它有一个physicsBody 并且重力会影响它.它也是动态的. 目前,当用户触摸屏幕时,我运行代码: applyForce(0, 400) 物体向上移动大约 200 米,然后由于重力而落下.这只会在某些时候发生.其他时候,它会导致对象仅在 Y 方向移动 50ish 个单位. 我找不到模式...我将我的项目放在 Dropbox 上,这样如果有人愿意查看它就
..
有时在我的 SpriteKit 程序中,我的碰撞和接触(使用 SKPhysicsBody)不会触发或按预期工作.我想我已经设置了我需要的一切,但我仍然没有得到正确的交互. 我是否可以编写一些代码来检查什么会与什么发生冲突,以及设置了哪些主体来生成联系人? 解决方案 为了帮助诊断这些类型的问题,我编写了一个可以从任何地方调用的函数,它将分析当前场景并生成一个节点列表与其他人发生碰撞以及
..