cocos2d位置坐标

时间:2011-03-14 18:53:11

标签: iphone objective-c xcode cocos2d-iphone

当我调试以下代码时,xPos = 0,yPos = 0,奇怪

CCNode* node = [birdsAlone objectAtIndex:nextInactiveBird];
NSAssert([node isKindOfClass:[BirdEntity class]], @"not a bird entity");
BirdEntity* bird = (BirdEntity*) node;
float birdHeight = CGRectGetHeight([bird boundingBox]);
float xPos = ([[CCDirector sharedDirector] winSize].width - 100) * CCRANDOM_0_1() + 50;
float yPos = ([[CCDirector sharedDirector] winSize].height + birdHeight / 2.0f);

CGPoint location = ccp(xPos, yPos);

1 个答案:

答案 0 :(得分:1)

当你得到0时你不期望它们,两个常见的原因是:

  • 整数舍入。例如,如果你做int x = 3 * .25,x将为0.我不认为这是你的问题。

  • 您链中的一个对象是零。请记住,在Cocoa中,[nil anySelector]是有效的 - 它不会像你期望的那样与nil对象一起崩溃。 [nil intValue](或floatValue等)== 0.所以如果你有[[myObject someProperty] someOtherProperty],那么沿途的任何东西都是0会导致结果为零。