我有一个无限滚动的背景和一个角色走路'在地平面上。
我想从上面丢弃物体并将它们降落在地面上 - 到目前为止一直很好。但物体不随地面移动。
无法找到任何可以解决这个问题的例子。
我的地面'就我的图形背景而言,它只是一个正确高度的边缘。
let Edge = SKNode()
Edge.physicsBody = SKPhysicsBody(edgeFromPoint: CGPointZero, toPoint: CGPointMake(self.frame.width + 1, 0))
Edge.position = CGPointMake(0, bottomShelf_ItemStartPosition.y)
self.addChild(Edge)
我试过提供自己的SKSriteNode物理属性,但这并没有任何区别。
最好的方法是什么?必须是制作移动地面效果对象的简单方法。
添加滚动例程:
func backgroudScrollUpdate1(){
back.position = CGPoint(x: back.position.x - scrollPerFrameAmount, y: back.position.y)
back2.position = CGPoint(x: back2.position.x - scrollPerFrameAmount, y: back2.position.y)
if (back.position.x < -(back.size.width / 2)) {
back.position = CGPointMake(back2.position.x + back.size.width, back.position.y)
}
if (back2.position.x < -(back.size.width / 2)) {
back2.position = CGPointMake(back.position.x + back2.size.width, back2.position.y)
}
}
更新 - 一些进展
我建立了一个物理世界,我的地面无限滚动。我有一些物品掉在了天空之外。并降落在地面上。我可以通过直接施加冲动或一件击中另一件事来移动物体。
但是,我所期待的是滚动的地面会拉动&#39;如果他们在地上的事情呢?
我在接触地面的物品上玩过不同的地面摩擦力,但看起来并不重要。
做了一件事的一件事是,如果我将项目的phsyics主体设置为圆形,那么地面确实会影响项目,在滚动的相反方向上转动它 - 但是当它碰到边缘时只是停下来,而不是在边缘旋转。
如果该部分正常工作,那为什么不会在地面上拖动一个矩形呢?
很想看到一个影响世界的示例代码确实会影响其他节点..