我正在尝试用一些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 。
任何人都知道这里发生了什么?
答案 0 :(得分:1)
我猜self
是SKScene
。我怀疑self.view == nil
(意味着没有SKView
目前正在提出self
)。 documentation of convertPointFromView:
说:
在调用此方法之前,必须在视图中显示场景。