gpt4 book ai didi

swift - 在 Swift 中循环播放 A 到 B 的动画

转载 作者:行者123 更新时间:2023-11-30 10:16:00 25 4
gpt4 key购买 nike

我是一个快速新手,试图循环播放 A 到 B 位置动画。我不知道如何重置位置以便动画可以循环。任何帮助表示赞赏。

import SpriteKit

class GameScene: SKScene {
let Cloud1 = SKSpriteNode(imageNamed:"Cloud_01.png")
override func didMoveToView(view: SKView) {
view.scene!.anchorPoint = CGPoint(x: 0.5,y: 0.5)

Cloud1.position = CGPoint(x: -800,y: 0)
Cloud1.xScale = 0.5
Cloud1.yScale = 0.5

self.addChild(Cloud1)

//DEFINING SPRITE ACTION & REPEAT

let animateCloud1 = SKAction.moveToX(800, duration: 1.4);
let repeatCloud1 = SKAction.repeatActionForever(animateCloud1)

let group = SKAction.group([ animateCloud1,repeatCloud1]);

//RUNNING ACTION

self.Cloud1.runAction(group);

}

override func update(currentTime: NSTimeInterval) {
if(Cloud1.position.x == 800){
Cloud1.position.x = -800

}
}
}

最佳答案

如果我正确理解你的问题,你希望 Sprite 在当前位置和你指定的新位置之间来回移动。

如果是这样,一种方法是创建两个动画并将它们放在一个序列中。然后永远重复这个序列。

let animateCloud = SKAction.moveToX(800, duration: 1.4)
let animateCloudBackwards = SKAction.moveToX(Cloud1.position.x, duration: 0)
// Sequences run each action one after another, whereas groups run
// each action in parallel
let sequence = SKAction.sequence([animateCloud, animateCloudBackwards])
let repeatedSequence = SKAction.repeatActionForever(sequence)

Cloud1.runAction(repeatedSequence)

关于swift - 在 Swift 中循环播放 A 到 B 的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29907481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com