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 の値が常に null である理由を誰か教えてもらえますか? 遅れて場所を取得しようとしましたが、まだ null です。私はアイデアがありません。この同様の問題に近づいているように見えましたが、まだ理解できません。ありがとう

4

1 に答える 1

3

間違ったフォーマット文字列を使用しているため、null です。%@ は id タイプ専用ですが、座標は単純な float 値です。代わりにこれを使用します。

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

PS: デバッガーの使い方を学びましょう。単純なブレークポイントを設定し、ローカル変数を調べた場合、値が実際には「null」ではないことがすぐにわかります。

于 2012-07-16T23:08:59.700 に答える