CCLOG不显示

我已经写了一个代码来显示使用CCLog时精灵的精确位置,当一个鼠标联合移动它被释放。 下面是Sprite.mm类和ccTouchesEnded方法(它在HelloWorldLayer.mm类中)。 CCLog不显示消息。

Sprite.mm:

-(id)addSprite:(CCLayer *)parentLayer inWorld:(b2World *)world { PhysicsSprite *aSprite = [PhysicsSprite spriteWithFile:@"spriteIm.png"]; aSprite.tag = 1; [parentLayer addChild:aSprite]; b2BodyDef spriteBodyDef; spriteBodyDef.userData = aSprite; spriteBodyDef.type = b2_dynamicBody; CGSize s = [CCDirector sharedDirector].winSize; spriteBodyDef.position = [Convert toMeters:ccp(s.width * 0.25,s.height-400)]; b2FixtureDef fixtureDef; fixtureDef.density = 0.01; b2CircleShape circleShape; circleShape.m_radius = aSprite.contentSize.width/2 / PTM_RATIO; fixtureDef.shape = &circleShape; spriteBody = world->CreateBody( &spriteBodyDef ); spriteFixture = spriteBody->CreateFixture( &fixtureDef ); [aSprite setPhysicsBody:spriteBody]; return aSprite; } 

ccTouchesEnded:

 - (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if (mouseJoint) { for(b2Body *b = world->GetBodyList(); b; b=b->GetNext()) { if (b->GetUserData() != NULL) { CCSprite *mySprite = (CCSprite *)b->GetUserData(); if (mySprite.tag == 1) { CGPoint spritePosition = mySprite.position; CCLOG(@"the sprite position is x:%0.2f, y:%0.2f", spritePosition.x, spritePosition.y); } } } world->DestroyJoint(mouseJoint); mouseJoint = NULL; } } 

我有一个感觉,问题是与我访问标签的方式,不是很确定。 请帮忙。

在我看来,可能会发生两件事情。

  1. 没有达到CCLOG。 这可能是因为sprite tag = 1没有设置,或者你想跟随的对象没有与b2Body链接。 检查一下你到达CCLOG的断点

  2. 用CCLOGreplaceNSLog。 如果有效,那么你没有定义COCOS2D_DEBUG,或者在0上。validation你的构build设置。

 \\ /* * if COCOS2D_DEBUG is not defined, or if it is 0 then * all CCLOGXXX macros will be disabled * * if COCOS2D_DEBUG==1 then: * CCLOG() will be enabled * CCLOGERROR() will be enabled * CCLOGINFO() will be disabled * * if COCOS2D_DEBUG==2 or higher then: * CCLOG() will be enabled * CCLOGERROR() will be enabled * CCLOGINFO() will be enabled */ #if !defined(COCOS2D_DEBUG) || COCOS2D_DEBUG == 0 #define CCLOG(...) do {} while (0) #define CCLOGINFO(...) do {} while (0) #define CCLOGERROR(...) do {} while (0) #elif COCOS2D_DEBUG == 1 #define CCLOG(...) NSLog(__VA_ARGS__) #define CCLOGERROR(...) NSLog(__VA_ARGS__) #define CCLOGINFO(...) do {} while (0) #elif COCOS2D_DEBUG > 1 #define CCLOG(...) NSLog(__VA_ARGS__) #define CCLOGERROR(...) NSLog(__VA_ARGS__) #define CCLOGINFO(...) NSLog(__VA_ARGS__) #endif // COCOS2D_DEBUG