使用 swift 查找 SKNode 的相对 Y 位置

Posted

技术标签:

【中文标题】使用 swift 查找 SKNode 的相对 Y 位置【英文标题】:Find the relative Y position of a SKNode with swift 【发布时间】:2017-08-17 03:22:34 【问题描述】:

我正在尝试将 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))

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于使用 swift 查找 SKNode 的相对 Y 位置的主要内容,如果未能解决你的问题,请参考以下文章

swift SpriteKit SKNode 类

转换回 gamescene.swift 会导致错误“'尝试添加一个已经有父节点的 SKNode”

Swift:尝试添加一个已经有父节点的 SKNode:

Swift:如何获得Spritekit场景的大小以呈现SKNode全屏?

Swift SpriteKit - “尝试添加一个已经有父节点的 SKNode”,同时添加关节

从 SKNode 楼层类中移除重力