Sprite Kit - Swift - 在CGPath上的随机点停止SKShapeNode

时间:2016-01-29 11:47:32

标签: ios swift sprite-kit swift2 sprite

我是Sprite Kit的新手。

以下屏幕显示我所做的事情。

enter image description here

代码::

var runner = SKShapeNode()

override func didMoveToView(view: SKView) {

        let circleBg = SKShapeNode(circleOfRadius: 100)
        circleBg.position = CGPointMake(frame.midX, frame.midY)
        circleBg.strokeColor = SKColor.blackColor()
        circleBg.glowWidth = 1.0
        circleBg.fillColor = SKColor.orangeColor()
        self.addChild(circleBg)

        runner = SKShapeNode(circleOfRadius: 5 )
        runner.position = CGPointMake(frame.midX, frame.midY + 100)
        runner.strokeColor = SKColor.blackColor()
        runner.glowWidth = 1.0
        runner.fillColor = SKColor.orangeColor()
        self.addChild(runner)

}

大圆圈上的 亚军是小橙圈

我可以使用下面的代码在圆圈边框上运行它。

let circlePath : CGPathRef = CGPathCreateWithEllipseInRect(createCircleWithWidths(200), nil)
let actionCircle = SKAction.followPath(circlePath, asOffset: false, orientToPath: true, duration: 2.0)
let actionForever = SKAction.repeatActionForever(actionCircle)
runner.runAction(actionForever, withKey: acircle1)

但我想要一些与上面不同的东西,比如..

enter image description here

在上面的图片

  1. RED Square - 这是我的跑步者(小橙圈)的终点
  2. 绿色广场 - 我需要点击反转。
  3. ISSUE ::

    1. 我需要在圆圈路径中随机丢弃红色方块。但我无法获得跑步者正在运行的路径的CGPoints列表。所以我无法放置红场。

    2. 如何检测或通知跑步者在红场内/附近。所以我可以决定让用户失败。

    3. 或者,如果有另外一种方法,这可能是建议的。

      谢谢。

0 个答案:

没有答案