[英]How do I move a ball up and down depending on a tap using Spritekit and Swift?
[英]How to make a sprite move up and down forever in swift SpriteKit
我试图让精灵永远上下移动,我尝试使用“if 语句”来检查位置是否......然后它会再次向上移动。 但它不起作用。 我真的很感激一些帮助,谢谢。 这是代码。
var Ground = SKSpriteNode()
var Ground2 = SKSpriteNode()
override func didMoveToView(view: SKView) {
Move()
}
func Move(){
let action = SKAction.moveToY(self.frame.height / 2 - 360, duration: 5.0)
Ground.runAction(SKAction.repeatActionForever(action))
let action2 = SKAction.moveToY(self.frame.height / 2 + 140, duration: 5.0)
Ground2.runAction(SKAction.repeatActionForever(action2))
}
您可以为此使用操作序列:
override func didMoveToView(view: SKView) {
let sprite = SKSpriteNode(color: SKColor.purpleColor(), size: CGSize(width: 100, height: 10))
sprite.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame))
addChild(sprite)
let moveUp = SKAction.moveByX(0, y: 200, duration: 2)
let sequence = SKAction.sequence([moveUp, moveUp.reversedAction()])
sprite.runAction(SKAction.repeatActionForever(sequence), withKey: "moving")
}
Whirlwind 的答案更新到 Swift 5
let sprite = SKSpriteNode(color: SKColor.purple, size: CGSize(width: 100, height: 10))
sprite.position = CGPoint(x: frame.midX, y: frame.midY)
addChild(sprite)
let moveUp = SKAction.moveBy(x: 0, y: 200, duration: 2)
let sequence = SKAction.sequence([moveUp, moveUp.reversed()])
sprite.run(SKAction.repeatForever(sequence), withKey: "moving")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.