我正在尝试将Mega Jump游戏教程(this one)调整到无尽的水平。在代码的一部分中,您将背景和前景从屏幕上移开,而播放器跳到平台上。

这个想法是,当平台离开屏幕时,将其删除,并在顶部创建一个新的平台节点。问题在于,随着前景“下降”,我不知道如何计算屏幕上最高的Y点在哪里,因此我可以在顶部创建一个新的平台节点。

背景和前景移动的代码部分是这些部分:

if player.position.y > 200
{
    background.position = CGPoint(x: 0, y: -((player.position.y - 200) / 10))
    midground.position = CGPoint(x: 0, y: -((player.position.y - 200) / 4))
    foreground.position = CGPoint(x: 0, y: -(player.position.y - 200))
}


我希望这是有道理的,这是我第一次在这里寻求帮助。

最佳答案

假设您将平台添加到前台,并且您的代码在SKScene类的上下文中,

platform.position.y = self.frame.maxY - foreground.position.y

关于ios - 快速找到SKNode的相对Y位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45726106/

10-14 21:03