Swift 使用convert函数获取节点的位置会给我不同的值?
因此,我试图使用convert(Player.position,from:castle).y函数获取节点“Player”的位置,但当我的对象下落且未移动到一边时,以及当它下落并移动到一边时(使用actionSwift 使用convert函数获取节点的位置会给我不同的值?,swift,xcode,sprite-kit,Swift,Xcode,Sprite Kit,因此,我试图使用convert(Player.position,from:castle).y函数获取节点“Player”的位置,但当我的对象下落且未移动到一边时,以及当它下落并移动到一边时(使用action.move(by:CGVector(dx:10,dy:0)),这会给我不同的值,我不明白为什么!我在didbeagin函数中使用这个函数,所以我想知道这是否是代码中的时间延迟问题或其他问题。请帮助 下面是一个例子: 我的玩家节点落在场景中,当它与不同的节点碰撞时,它会计算这两个节点的位置,如
.move(by:CGVector(dx:10,dy:0)
),这会给我不同的值,我不明白为什么!我在didbeagin
函数中使用这个函数,所以我想知道这是否是代码中的时间延迟问题或其他问题。请帮助
下面是一个例子:
- 我的玩家节点落在场景中,当它与不同的节点碰撞时,它会计算这两个节点的位置,如果玩家
pos高于对象,则我会将碰撞y
,如果不小于设置为开
(这样玩家就不能从对象中跌落)。这很有效则设置为关
- 我的玩家节点正在下降,但我也在和他一起移动到两侧,例如通过函数
,现在在这种情况下,玩家。移动(通过:CGVector(dx:10,dy:0)
的位置比第一个场景中的位置低,所以玩家节点穿过对象(碰撞y
),我不知道为什么关闭
y
值:
第一种情况:
player:110.2529296875
static_obj:108.0
player: 103.865478515625
static_obj: 108.0
第二种情况:
player:110.2529296875
static_obj:108.0
player: 103.865478515625
static_obj: 108.0
所以我的问题是这怎么可能?这是我的代码中的错误,线程的时间延迟,还是我遗漏了什么?请帮助