swift SpriteKit : How to make a sprite gain slight velocity when it collides with an object?

标签 swift sprite-kit

我正在创建一个游戏,您可以在其中点击以启动玩家让他跳跃,然后随着他的上升,会生成越来越多的对象供您收集以获得积分(想想涂鸦跳跃)。我已经设置好了,所以这会发生,但他并没有被物体提升,而是漂浮在场景之外。我还想知道如何在玩家触摸对象时将其从场景中移除。提前致谢(:

这是我的代码,可以让他在接触物体时获得速度:

func bounceOff() {
    player.physicsBody?.affectedByGravity = false
    player.physicsBody?.applyImpulse(CGVectorMake(0, 10))
    let advance = SKAction.moveByX(0, y: 10, duration: 5)

    runAction(advance)
}

最佳答案

你的物体离开屏幕是因为你取消了重力。你施加的插入力向上推,但没有向下拉的力。至于从场景中移除节点。您可以使用节点的 removeFromParent 方法。

关于 swift SpriteKit : How to make a sprite gain slight velocity when it collides with an object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32466542/

相关文章:

swift - 动态改变 SwiftUI 的 VStack 的顺序

ios - 在 Sprite Kit 场景中隐藏 iAd

ios - 防止用户更改标签 - spriteKit

swift - 使用固定的 SKPhysicsJoint 将平台检测碰撞盒作为子元素附加到玩家 Sprite 上会更改玩家的碰撞和检测位掩码

swift - 你如何在 Spritekit 中使用 NSTimer 触发 Action ?

ios - 如何在我的 ios 应用程序中共享联系人?

swift - CollectionViewcell自动布局高度、动态高度、内容高度

ios - Alamofire 5 类型 'Request' 没有成员 'authorizationHeader'

ios - 屏幕上未显示的 VC 的屏幕截图

swift - 物理体 : Could not create physics body