- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想使用 applyImpulse 方法在基于 physicsBody 旋转的方向上移动 physicsBody。
例如,physicsBody 是一个正方形,我称之为“移动”,它会施加一个脉冲使其垂直向上移动。然后我调用一个方法将 physicsBody 向右旋转 45 度。如果我再次调用“移动”方法,physicsBody 将沿对角线向右和向上移动。
最佳答案
我建议您遵循 Sprite Kit 的坐标和旋转约定。具体来说,您的 Sprite 图像应该以零度(默认值)面向右,正值是逆时针旋转。也就是说,这是一种在 Sprite 面向的方向上施加脉冲的方法:
// Specify the force to apply to the SKPhysicsBody
CGFloat r = 5;
// Create a vector in the direction the sprite is facing
CGFloat dx = r * cos (sprite.zRotation);
CGFloat dy = r * sin (sprite.zRotation);
// Apply impulse to physics body
[sprite.physicsBody applyImpulse:CGVectorMake(dx,dy)];
关于ios - SpriteKit 使用 applyImpulse 移动旋转的 physicsBody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25628811/
在这个简单的物理模拟中存在一些奇怪的行为。 applyImpulse 每 5 秒应用一次,但每次发生这种情况时,即使 applyImpulse 使用相同的值,该框也会跳得更高。大约20秒后,盒子升得很
我有一个 SKShapeNode,我无法对其应用脉冲。我的问题是什么?谢谢 代码: var ball = SKShapeNode() ball.path = UIBez
我在屏幕上有一个圆圈,它会慢慢变大(顺便说一下,Balloon 类是 SKShapeNode 的一种)。在 touchesBegan 中,我单击圆圈并打印出我触摸了它,但是没有施加任何冲动。我怎样才能
协议(protocol)如下。我的球掉落,击中地板,然后在以下代码的帮助下弹回来 ball.physicsBody?.applyImpulse(CGVectorMake(0, 25)) 但是,有时球会
我有我的 raymond 节点。我正在应用脉冲,第一次跳跃非常高,随后的跳跃是正常的。 我希望所有跳跃的高度都相同,我已经尝试了很多东西,但仍然没有效果。 //Raymond Code
当我尝试在我的节点应用程序上使用 applyImpulse 时崩溃并且我收到此消息:fatal error: unexpectedly found nil while unwrapping an Op
正如您在使用 SpriteKit 时可能知道的那样,applyImpulse 并非在所有屏幕上都能正常工作。 在 iPhone SE 上,我的球移动得非常快,但在 iPad Pro 2nd gen 上
所以我有几个球从天上掉下来,碰到桨。 桨适用 ball.physicsBody?.applyImpulse(CGVectorMake(0, 200)) 到球。 10 次中有 9 次,球弹回屏幕的 1/
我有一个 Skier 类型的播放器节点,我想通过触摸和拖动围绕 x 轴移动,类似于 this tutorial .我将我的播放器节点添加到场景中,它有一个 isDynamic 设置为 true 的物理
我正在尝试用 Swift 制作一个跳跃和奔跑的游戏,我遇到了两个主要问题。 首先是我将重力应用到 GameScene,但每次我跳跃时,玩家都会穿过地板而不是停在其原始位置。我尝试在跳跃前设置dynam
我对 Swift 有点陌生。我有这个问题,SpriteNode“Ball”没有对 touchesBegan 方法中的 applyImpulse 命令使用react。整体 physicsBody 工作得
我怎样才能在 Sprite 被施加这样的冲动后停止它: player.physicsBody!.applyImpulse(CGVectorMake(50, 0)) 是否有可能使运动在一段时间内减少?
尽管在 box2d 前花了几个小时,但我仍然不明白 applyforce 和 applyimpulse 是如何工作的。我尝试使用一些视觉效果来更好地理解正在发生的事情(通过在 body 位置和应用点之
我正在尝试移动一个 body : if (ks.IsKeyDown(Keys.Up)) { rocket.ApplyImpulse(new Box2DX.Common.Vec2(0, 30f)
我想使用 applyImpulse 方法在基于 physicsBody 旋转的方向上移动 physicsBody。 例如,physicsBody 是一个正方形,我称之为“移动”,它会施加一个脉冲使其垂
在我的游戏中,当用户触摸屏幕时,使用 func fire() 创建了一颗子弹,但没有任何反应。 以下是我的代码: private func fire(position: CGPoint) {
我有一个 sprite 节点,它响应于施加在其连接的 physicsBody 上的重力而出现和下落。 很好。 现在,我想使用 applyForce 在它下落时向某个方向稍微插入它。 不幸的是,无论我将
我一直在尝试遵循 YouTube 上的 Pong 指南(我是 SpriteKit 的新手),当我在 Xcode 8.3.3 中运行我的代码时,球没有移动。该指南使用 Xcode 8,因此一定有所改变。
我可以看到 here如何使用 update() 函数来监视 SKNode 上的“位置”等属性,但我不知道如何知道 [node.physicsBody applyImpulse:vector] 等方法已
我是一名优秀的程序员,十分优秀!