FAQ: cocos2d for iPhone: Chipmunk: compile errors after adding #import "chipmunk.h" Comments Feed" href="http://www.learn-cocos2d.com/knowledge-base/cocos2d-iphone-faq/feed/"/>

FAQ: cocos2d per iPhone: Tamia: compili errori dopo addizione #import "chipmunk.h"

Chipmunk: compile errors after adding #import "chipmunk.h"

Cerchi il mio cocos2d d'iPhone FAQs & Tutorials

Per favore annoti che la ricerca di blog nell'angolo giusto superiore non cerca il mio FAQs e Seminari universitari sotto la guida di un tutor.
 

  • Annoti: per favore non condivida collegamenti di trasferimento di dati diretti con file PDF, i collegamenti di trasferimento di dati finiscono dopo di dei minuti di coppia!

Se Lei compila un file con #import "chipmunk.h" Lei può ricevere un avvertimento come questo diverse volte:

avvertimento: la conversione disapprovata da spago costante per 'carbonizzarsi *'

La ragione è quella che Lei sta usando la Tamia (probabilmente via un #import "chipmunk.h" la linea) in un file &.mm o del mattino in un m del file che ha è la serie di Tipo di File a sourcecode.cpp.objcpp. Nel primo caso, rinomini il file a.m e nel secondo caso cambiano il Tipo di File via il file Ricevono il dialogo d'Informazione a sourcecode.c.objc

Annoti: il fare così può causare altri errori di affiorare se il codice in questione deve esser compilato con C ++. Vedi anche una lezione simile su Box2d compilare errori. See also a similar lesson about Box2d compile errors.

Lezione di trasferimento di dati PDF

Commenti (0)

11 Risposte a “FAQ: cocos2d per iPhone: Tamia: compili errori dopo addizione #import "chipmunk.h"

Chipmunk: compile errors after adding #import "chipmunk.h"”
  1. Max dice:

    Schiarimento di posto. Grazie!

    E, certamente, ho alcuni la domanda :)

    - tutto è relativo, ma per codice comune è migliore per usare NSString, NSArray (e pagare il costo di creare nuovi oggetti) o i mutabili? Quale può essere i parametri per scegliere tra ognuno?

    - Mi sto chiedendo se il nuovo iPhone 4.0′s il più grande svolgimento sarà un problema. I giochi che dirigono pianamente in iPhone 1i e 2i dispositivi di generazione probabilmente funzioneranno troppo velocemente?

    • GamingHorror dice:

      Ciao Max,

      dubito che i NSMutable* datasets siano sicari di svolgimento. Non ho fatto nessuna prova ma sono piuttosto sicuro che se Lei non li cambia affatto loro probabilmente si comporteranno così buono come i nonmutabili. Adesso, una volta Lei *do* ha bisogno di cambiare gli assortimenti o gli spaghi è buono averli mutabile in modo che la roba sia avuta cura per Lei dietro le quinte. D'altra parte, se Lei sa che Lei starà solo creando gli articoli una volta, ma riordinare mai, togliere o aggiungere che gli altri allora usano i nonmutabili. Per me è una questione di caso d'uso, piuttosto che svolgimento. Now, once you *do* need to change the arrays or strings it’s good to have them mutable so that stuff is taken care for you behind the scenes. On the other hand, if you know that you’ll only be creating the items once but never re-order, remove or add others then use the non-mutable ones. For me it’s a matter of use case rather than performance.

      I giochi non funzioneranno più velocemente su più nuovi dispositivi. il cocos2d's CCDirector si assicura di questo. Lei migliora framerates certamente, ma non più velocemente gameplay. Questo tiene true per tutti i motori di gioco moderni. You do get better framerates of course but not faster gameplay. That holds true for all modern game engines.

  2. Sean dice:

    Ciao gaminghorror. Grazie per tutta la gran informazione sul Suo blog:) che Veramente trova questo utile.

    Volli chiedere sul Suo codice di sfondo di parallasse sopra – sto usando questo in un progetto di prova, ma non posso sembrare di fare la copertura di tegole adattarsi perfettamente vicino a eachother. In altre parole, il mio folletto che sto rivestendo di tegole (che è 480, 320 in dimensioni) sta rivestendo di tegole, ma quando il nuovo folletto comincia, c'è uno spazio vuoto nero circa 25 pixel larghi tra il nuovo e il vecchio. È là qualche strada a elliminate questo spazio vuoto? Ho provato a cercare i fori cocos2d eccetera, e ho trovato l'informazione su 2a proiezione che spegne eccetera … ma niente di quello mi ha aiutato finora … A provare e illustrare quello che sto ricevendo, questo è quello che divento avvolgente in volute attraverso lo schermo di dispositivo (lo x's sono il folletto lo spazio bianco è lo spazio vuoto nero che ricevo): Is there any way to elliminate this gap? I have tried searching the cocos2d forums etc, and found info on 2D projection turning off etc… but none of that has helped me so far… To try and illustrate what I am getting, this is what I get scrolling across the device screen (x’s are the sprite white space is the black gap I get):

    lo xxxxxxxxxxxxxxx | |xxxxxxxxxxxxxxxx | |xxxxxxxxxxxxxxxxxx | |xxxxxxx

    • GamingHorror dice:

      Questo sembra di essere un compenso di collocamento, è sicuro Lei che i folletti sono esattamente 480 pixel separatamente ciascuno? Entrambi anche hanno bisogno di avere stesso anchorPoint. E se Lei cambia la scala dei folletti, il compenso anche ha bisogno di esser aggiustato in modo adatto. And if you change the scale of the sprites, the offset also needs to be adjusted appropriately.
      Lei potrebbe volere mettere alla prova il collocamento con più piccoli folletti in modo che almeno due di loro si adattino completamente sullo schermo.

      • Sean dice:

        Ciao GamingHorror, grazie infinite per la risposta:) Così questa mattina mi svegliai ed ebbi una mente chiara – pensò a questo per mentre - Il mio folletto per lo sfondo è esattamente 480×320 – cioè screensize. Lo spazio vuoto vedevo il genere di 20-30 pixel dati un'occhiata tra ogni folletto ripetuto. Allora pensai, ehi, a 480, soltanto mi danno una struttura che è 512 in diritto di dimensioni? Così forse il suo fare di un pieno 512pixel la struttura. Allora ritornai per fotofare acquisti, e aumentai la mia larghezza di folletto a 512 (come me wouldnt perdono qualsiasi svolgimento comunque) e diede questo un tentativo, usando il Suo codice: So I thought, hey, at 480, I am just being given a texture that is 512 in size right? So maybe its doing a full 512pixel texture. So I went back to photoshop, and increased my sprite width to 512 (as I wouldnt lose any performance anyway) and gave this a try, using your code:

        Il CCSprite *background = [CCSprite spriteWithFile: "tile1.png"
        il rect:CGRectMake (0,0, 480*50, 320)];
        [stesso addChild:background];
        [lo sfondo setPosition:ccp (winSize.width/2, winSize.height/2)];
        il ccTexParams params = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
        [background.texture setTexParameters: ¶ms];

        e questo lo classificò! Nessuno più spazi vuoti. Grazie infinite per le lancette anche – non avevo pensato ad anchorPoints! Ancora grazie per gran blog. Sono sottoscritto! Thanks so much for the pointers too – I hadn’t thought about anchorPoints! Thanks again for the great blog. I am subscribed!

        • GamingHorror dice:

          Ah sì, se Lei sta usando GL_REPEAT allora le dimensioni d'immagine devono essere un potere di due. Eg 64×64 o 512×128

          • Sean dice:

            Terrificante – che pulisce cose per me e ha il senso perfetto adesso. Grazie per conferma. La mia parallasse layered avvolgente in volute sta sembrando dolce adesso! My layered parallax scrolling is looking sweet now!

  3. Sean dice:

    Così altra domanda veloce … indovino che non sarà possibile usare uno spritesheet con GL_REPEAT? Particolarmente la strada Lei ha bisogno di creare un CGRect

    Attualmente faccio altra grafica da spritesheets come questo:

    Il CCSprite *projectile = [CCSprite spriteWithSpriteFrameName: "missile.png"];

    Che sono caricati dal mio.plist / spritesheet. Non possibile assegnare allo sfondo GL_REPEAT come questo?

    • Poiché GL_REPEAT è un parametro di struttura, si rivolge alla struttura intera, allora Lei avrà bisogno di usare una struttura d'immagine sola, e le dimensioni devono essere un potere di 2, eg 128×16 o 256×256.

      Questo anche esclude l'uso di spritesheet.

  4. Mattis dice:

    Usando questa tecnica questo lavora bene nel simulatore, ma sul dispositivo la struttura è super-blocky e pixellated. Sto dirigendo questa prova su cocos2d 0.99.5.

    Ive provò sia con 256×256 sia con 512×512 le strutture, e il risultato è lo stesso. Il simulatore si ripete perfettamente, i tratti di dispositivo e pixellates la struttura in modo orrendo.

    Ha Lei qualche idea perché questo avviene?

Lasci una Risposta