2010-01-22 4 views
1

Я использую cocos2d-Iphone + Box2D двигатель, у меня есть простой вызов в Box2d создать тело:GetBodyCount() всегда возвращает 0 в Box2d?

b2Body *crateBody = world->CreateBody(&crateBodyDef); 

Тогда я печать вновь увеличиваются переменная счетчика тела через:

CCLOG(@"There are %0.0f bodies in the world.", world->GetBodyCount()); 

Однако GetBodyCount() всегда возвращает 0? Я знаю, что переменная счетчика тела увеличивается, так как при отладке и входе в CreateBody(..)m_BodyCount увеличивается, и мой инспектор с уважением возвращает 1. Я не понимаю, как с world->GetBodyCount() просто запустить return m_BodyCount это может быть ошибкой и возвратом 0?

Надеюсь, кто-то может помочь! Cheers.

Я использую SVN rev. r31

Graham

ответ

3

Является ли GetBodyCount() возвращающая Int? Если это так, вы должны использовать% d в строке формата.

+0

Argh. Большое спасибо Джерри. Вот что происходит. Не заметил, что я использовал «f» и представлял float. лол. Obj-c - это другой зверь из C#! – GONeale