节点的位置始终为null。 Cocos3d

时间:2012-07-16 21:44:32

标签: iphone xcode cocos2d-iphone cocos3d

我正在尝试将相机的位置放在cocos3d中,但遇到了麻烦。这是我的initializeWorld看起来像

[self addContentFromPODFile: @"leggo.pod"];

CC3Camera* cam2 = (CC3Camera*) [self getNodeNamed:@"Camera"];
[self addChild:cam2];

//the location and rotation is just for testing
//cam2.location = cc3v(0,57.101,71.694);
//cam2.rotation = cc3v(-38,0,0);

CC3Vector camLoc = cam2.location;
NSLog(@"cam2 position is x=%@ y=%@ z=%@", camLoc.x, camLoc.y, camLoc.z );

有谁能告诉我为什么camLoc.x,camLoc.y和camLoc.z的值总是为空?我尝试在延迟后获取该位置,但它们仍为空。我没有想法。看起来我正在接近这个similar issue,但我仍然无法理解。感谢

1 个答案:

答案 0 :(得分:3)

它们为null,因为您使用了错误的格式字符串。 %@仅用于id类型,但坐标是简单的浮点值。而是使用它:

NSLog(@"cam2 position is x=%f y=%f z=%f", camLoc.x, camLoc.y, camLoc.z);

PS:学会使用调试器。如果您设置了一个简单的断点并查看了局部变量,那么您将立即看到这些值实际上并非“空”。