我已经以编程方式在我的UIView中创建了一个SKView。现在我想在所有方向上动画一个新的SKNodes,从中间开始(这个工作),具体取决于传递的视图。一切正常,除了SKNode的结束位置很奇怪。它不是向所有方向射击,而是从视角的边界进入角落。它永远不应该超出视图的界限。我正在从视图中将CGPoint转换为我的场景。
这是我的代码:
User
错误正确的getRandomPosition:
firstName
我知道代码看起来很糟糕,但它应该正确吗?传递视图是UIView内部的UIButton。 SKView与UIView具有完全相同的约束。动画应该从中间开始,然后到达传递视图的边界。
答案 0 :(得分:0)
终于让它上班了。我以前没有注意到这么傻。发件人将永远是UIView中的一个较小的孩子。返回函数很棒,但SKNode不应该移动到返回的函数,但移动。
更新的代码:
let randomPositionOfSender = getRandomPosition(view: sender)
let fireAtWill = SKAction.moveBy(x: randomPositionOfSender.x, y: randomPositionOfSender.y, duration: randomDuration)