gpt4 book ai didi

ios - 使用 SKActions SKSpritenode 进行角运动

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

我在屏幕的左右两侧随机生成了 SKSpriteNode。他们应该只在屏幕上运行,然后节点被删除。他们做我想做的事,但我只是直线运动,我想让他们以一定角度移动(稍后随机创建)

这是我的

//这些行只是为了创建 SpriteNode 并将其放置在屏幕之外

let randomObj = SKSpriteNode(imageNamed: "randomObj")

let leftOrRight:CGFloat = arc4random_uniform(2) == 0 ? 1 : -1

randomObj.position = CGPoint(x: CGFloat(leftOrRight)*(self.frame.width
+ randomObj.frame.width), y: random(min:0 , max: self.frame.height))
self.addChild(randomObj)

//这是移动 -> 走过屏幕并删除

let distance = CGFloat(self.frame.width*2)
let moveRandomObj = SKAction.moveBy(x: (-leftOrRight)*distance + 100,
y: 0, duration: TimeInterval(0.008 * distance))
let removeRandomObj = SKAction.removeFromParent()
let moveAndRemove = SKAction.sequence([moveRandomObj, removeRandomObj])
randomObj.run(moveAndRemove)

我试着用 SKAction rotate by 给它一个旋转,但随后只有 Sprite 旋转了,它仍然水平移动

感谢任何帮助

最佳答案

您只需向 :

y: 值添加一个随机元素
let moveRandomObj = SKAction.moveBy(x: (-leftOrRight)*distance + 100, 
y: 0, duration: TimeInterval(0.008 * distance))

这是一个 MoveBy 并且您已经告诉它垂直移动 0 点,所以它自然会直线移动。节点的旋转与其移动方向无关。

关于ios - 使用 SKActions SKSpritenode 进行角运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52180921/

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