我正在尝试用一些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 。
有人知道这是怎么回事吗?
最佳答案
我猜self
是SKScene
。我怀疑self.view == nil
(表示当前没有SKView
呈现self
)。 documentation of convertPointFromView:
说:
在调用此方法之前,必须在视图中呈现场景。
关于ios - ConvertPointFromView返回NAN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25729352/