2011-10-13 11 views
8

Il mio progetto è nato come il modello cocos2d Box2D e sto avendo problemi nel più breve tempo ho cercato di creare un mondo:Xcode: Cocos2d: Impossibile creare il mondo con Box2D

world = new b2World(gravity,doSleep); 

dà l'errore: No costruttore di matching per l'inizializzazione di 'b2World'.

Il file è .mm, presumo che ci sia qualche problema sul collegamento delle librerie, forse? Se è così sto usando xCode 4, come posso controllare che la lib sia correttamente collegata?

Grazie.

+0

Quale versione di cocos2d stai usando? Se è cocos2d 2.0 alpha, allora dovrebbe venire con un modello di progetto aggiornato "cocos2d with box2d". – LearnCocos2D

risposta

25

Si utilizza Box2D v2.2 o successivo. Lo b2World constructor non accetta più due argomenti, solo uno (gravità). È necessario impostare separatamente doSleep:

world = new b2World(gravity); 
world->SetAllowSleeping(doSleep); 

questo non sarà l'unico cambiamento è necessario fare per la transizione da Box2D v2.1.x a v2.2.x. Kobold2D ha un progetto di esempio Box2D 2.2.1 funzionante, anche se non si utilizza Kobold2D è possibile ottenere il codice sorgente aggiornato per le basi di Box2D. In particolare la classe GLESDebugDraw e come impostare un riquadro di delimitazione dello schermo con un corpo che utilizza più forme.

+0

grazie mille :) – FBryant87

+0

Grazie, Steffen. Sembra che il riferimento ufficiale di Box2D manchi l'aggiornamento. http://box2d.org/manual.pdf pagina 8 ha ancora il vecchio modo di creare il mondo. A proposito, hai impostato una "porta listener" molto bella per le domande su Cocos2D :). –

Problemi correlati