координата положения cocos2d - PullRequest
4 голосов
/ 14 марта 2011

когда я отлаживаю следующий код, 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 Ответ

1 голос
/ 14 марта 2012

Когда вы получаете 0, где вы не ожидаете их, две общие причины:

  • Целочисленное округление.Например, если вы введете int x = 3 * .25, x будет 0. Я не думаю, что это ваша проблема.

  • Один из объектов в вашей цепочке - ноль,Помните, что в Какао [nil anySelector] действителен - он не падает с нулевым объектом, как вы могли ожидать.[nil intValue] (или floatValue и т. д.) == 0. Так что, если у вас есть [[myObject someProperty] someOtherProperty], любая из этих вещей на пути к нулю приведет к тому, что результат будет нулевым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...