【发布时间】:2015-09-11 00:48:49
【问题描述】:
如何让精灵坐在移动的精灵上并与它一起旅行。我已经使红色盒子冲动地跳起来,当它落在正在移动的黑色块上时,红色盒子会停留在它掉落的地方,就像没有摩擦一样滑动移动的物体。在重力和摩擦力 1.0 的条件下,甚至尝试增加质量,但没有任何效果。请给我任何细节如何使它工作? 谢谢 覆盖函数 didMoveToView(视图:SKView){ /* 在这里设置你的场景 */
self.physicsWorld.gravity = CGVectorMake(0.0, -9.8)
SquareOne.fillColor = UIColor.orangeColor()
SquareOne.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
SquareOne.physicsBody = SKPhysicsBody(rectangleOfSize: SquareOne.frame.size)
SquareOne.physicsBody?.friction = 1.0
SquareOne.physicsBody?.restitution = 0.0
addChild(SquareOne)
SquareTwo.fillColor = UIColor.greenColor()
SquareTwo.position = CGPoint(x: self.frame.midX, y: self.frame.midY - 100)
SquareTwo.physicsBody = SKPhysicsBody(rectangleOfSize: SquareTwo.frame.size)
SquareTwo.physicsBody?.dynamic = false
SquareTwo.physicsBody?.affectedByGravity = false
SquareTwo.physicsBody?.friction = 1.0
SquareTwo.physicsBody?.restitution = 0.0
addChild(SquareTwo)
}
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
/* Called when a touch begins */
for touch in (touches as! Set<UITouch>) {
let location = touch.locationInNode(self)
SquareTwo.runAction(SKAction.moveByX(-100, y: 0.0, duration: 3.0))
}
}
【问题讨论】:
-
如果只有红色和黑色两个块,这会更简单。红色受重力影响,黑色不受我的重力影响。在 touchesBegan 功能上,一旦我触摸黑色开始沿 x 方向移动。当它移动时,红色块滑倒。如何让它附着在黑色块上。
-
你的想法是对的。你只需要使用物理来移动黑色块。这是stackoverflow.com/questions/31590885/…
标签: swift sprite-kit