我正在尝试用一些SKSpriteNode对象填充场景。但是,在其他视图内部,我已经将这些对象用作UIImageView了。所以我有正常的坐标,我试图转换为GL坐标。

我正在这样做:

SKSpriteNode *title = [SKSpriteNode spriteNodeWithImageNamed:@"labirinto_title"];
    CGPoint titlePoint = CGPointMake(238.0, 50.0); //coordinates already known.
    NSLog(@"X1: %f, Y1: %f", titlePoint.x, titlePoint.y);
    CGPoint titlePosition = [self convertPointFromView:titlePoint];
    NSLog(@"X: %f, Y: %f", titlePosition.x, titlePosition.y);
    title.position = titlePosition;
    NSLog(@"X: %f, Y: %f", titlePosition.x, titlePosition.y);

然后,第一个NSLog正常,但是接下来的两个NSLog将为x和y值打印 NAN

有人知道这是怎么回事吗?

最佳答案

我猜selfSKScene。我怀疑self.view == nil(表示当前没有SKView呈现self)。 documentation of convertPointFromView: 说:

在调用此方法之前,必须在视图中呈现场景。

关于ios - ConvertPointFromView返回NAN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25729352/

10-09 16:33