ฉันจะให้ SKSpriteNode เดินตามเส้นทางเดียวกันไปมาได้อย่างไร

รหัสของฉันถูกแบ่งออกเป็นหลายไฟล์ ดังนั้นฉันหวังว่าฉันจะสามารถอธิบายสิ่งนี้ได้อย่างง่ายดาย ฉันมี CGMutablePath() ที่ไปจากจุด A ไปยังจุด B ฉันวาง SKSpriteNode ที่จุด A แล้วดำเนินการ:

yourline0 = SKShapeNode()
pathToDraw0.move(to: cgPoints[0])
pathToDraw0.addQuadCurve(to: cgPoints[1], control: cgPoints[2])

yourline0.lineWidth = 0
yourline0.path = pathToDraw0
yourline0.strokeColor = .clear

iconPath0 = pathToDraw0

SKAction.follow(iconPath0, asOffset: false, orientToPath: false, duration: 1))

ฉันดำเนินการ SKACtion นั้นและตามที่คาดไว้ SKNode ของฉันเปลี่ยนจากจุด A ไปยังจุด B ไม่เป็นไร

ฉันไม่แน่ใจว่าจะย้อนกลับได้อย่างไร ฉันคิดว่าจาก dox ที่เรียก SKAction แบบเดียวกับที่เป็นอยู่ จะทำให้ SKNode เปลี่ยนจากจุด B ไปยัง A


person LuisC329    schedule 24.02.2021    source แหล่งที่มา


คำตอบ (1)


มีวิธีที่เรียกว่า Reversed() ซึ่งคุณสามารถใช้ได้

ด้านล่างนี้ฉันได้ให้การกระทำของคุณเป็นชื่อการกระทำของคุณ

            let youraction = SKAction.follow(iconPath0, asOffset: false, orientToPath: false, duration: 1)
            let reverseaction = SKAction.reversed(youraction)
            yourspritenode.run(reverseaction)
            

หรือคุณสามารถใช้ Reversed หลังชื่อการกระทำเพื่อเรียกใช้แบบย้อนกลับ:

            yourspritenode.run(youraction.reversed())
person JohnL    schedule 24.02.2021