1

我正在尝试在 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 的值总是空的?我尝试在延迟后获取位置,但它们仍然为空。我没主意了。似乎我正在接近这个类似的问题,但我仍然无法弄清楚。谢谢

4

1 回答 1

3

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

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

PS:学会使用调试器。如果您设置了一个简单的断点并查看了局部变量,您会立即看到这些值并不是真正的“空”。

于 2012-07-16T23:08:59.700 回答