提问人:quickj 提问时间:9/13/2023 更新时间:9/13/2023 访问量:14
当 skspritenode 的帧与另一个 skspritenode 的帧相交时,我可以通过什么方式调整它的位置以防止它们重叠?
what way can i adjust the position of an skspritenode when it's frame intersects another skspritenode's to prevent them from overlapping?
问:
我想更新我的skspritenodes的位置,以便在它们开始重叠时将它们推开。我正在考虑尝试使用if语句来检查一个框架是否与另一个框架相交,但我愿意尝试另一种解决方案。
var ships: [SKSpriteNode] = [SKSpriteNode]()
for _ in 1...5 {
let barge = SKSpriteNode(imageNamed: "BattleShip2")
barge.setScale(0.1)
barge.position = CGPoint(x: view.frame.midX, y: view.frame.midY)
addChild(barge)
ships.append(barge)
}
通过这个初始化循环,我最终得到了 5 个对象,它们都堆叠在视图的中心。我希望它们慢慢地彼此分离,直到它们不再重叠。这就是我所处的位置:
var currentShip = SKSpriteNode()
for ship in ships {
if ship.frame.intersects(currentShip.frame) {
// do something
}
currentShip = ship
}
答: 暂无答案
评论