Sprite Kit中的最佳路径播放器移动

时间:2015-10-25 10:47:25

标签: ios swift sprite-kit

我在这里尝试做的是让角色在避开路径障碍的同时移动到一个位置。我试着用这样的东西:

// node = character 
// position = position of touch

[self.map enumerateChildNodesWithName:@"tile" usingBlock:^(SKNode * _Nonnull tileNode, BOOL * _Nonnull stop) {        
    if( round((SDistanceBetweenPoints(node.position, tileNode.position)) < 33) ) {
        if((SDistanceBetweenPoints(tileNode.position, position) < newDistance)&&((tileNode.position.x == position.x) || (tileNode.position.y == position.y))) {
            newDistance = SDistanceBetweenPoints(tileNode.position, position);
            moveToTouch = tileNode.position;
        }
    }
}];

我的主要问题是角色开始向上走一半:

enter image description here

1 个答案:

答案 0 :(得分:0)

SKSpriteNodes的协调基于Sprite的中心,而不是像UIViews那样的左上角。考虑到这一点,请尝试相同的代码。