加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 我如何在Swift中永远重复一个动作?

发布时间:2020-12-14 19:30:47 所属栏目:百科 来源:网络整理
导读:http://i.imgur.com/xkWTk9i.png我已经让这个矩形从上到下.我遇到的问题是我希望它每2秒重复一次,所以另一个矩形跟随它.我希望我的代码每隔2秒生成一个矩形,然后让它重复,就像绿色的管道一样.谢谢. (我之前已经开始工作,但我错误地删除了我的项目,并且无法弄
http://i.imgur.com/xkWTk9i.png我已经让这个矩形从上到下.我遇到的问题是我希望它每2秒重复一次,所以另一个矩形跟随它.我希望我的代码每隔2秒生成一个矩形,然后让它重复,就像绿色的管道一样.谢谢. (我之前已经开始工作,但我错误地删除了我的项目,并且无法弄清楚我是如何做到的.)我在Swift中使用Spritekit.

.

class GameScene: SKScene {
   let sprite = SKSpriteNode(imageNamed: "Rectangle 12")

   override func didMoveToView(view: SKView) {
     self.addChild(sprite)

      //run doAction function
      doAction()

   }


   //movement of rectangle


  func createRectangle() {
    let moveToBottom = SKAction.moveByX(0,y: 0 - self.frame.size.width,duration:  
    NSTimeInterval (3.0))

    let removeTheNode = SKAction.removeFromParent()
    let moveAndRemovePipes = SKAction.sequence([moveToBottom,removeTheNode])
    let repeatAction = SKAction.repeatActionForever(moveAndRemovePipes)
    sprite.xScale = 1
    sprite.yScale = 1
    sprite.position = CGPoint(x:0,y:0)
    sprite.runAction(repeatAction)


  }
  //spawn multiple rectangles after 3 or 4 seconds

  func doAction() {
    let generateRectangles = SKAction.sequence([
    SKAction.runBlock(self.createRectangle),SKAction.waitForDuration(NSTimeInterval(3.0))])
    let endlessAction = SKAction.repeatActionForever(generateRectangles)
    runAction(endlessAction)
  }
}

解决方法

您可以使用NSTimer重复执行功能.

override func didMoveToView(view: SKView) {
     self.addChild(sprite)

       var timer = NSTimer.scheduledTimerWithTimeInterval(0.2,target: self,selector: "doAction",userInfo: nil,repeats: true)

   }

这将每2秒重复执行一次函数.

编辑:

你也可以这样做:

override func didMoveToView(view: SKView) {
 self.addChild(sprite)

 runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(doAction),SKAction.waitForDuration(1.0)])))

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读