Il Calendario di Linkvent, il Giorno 14: Manifestazione d'Automobile di Cima giù di Box2D
Jeff Hodnett ha portato un Lampo popolare ActionScript Box2D la manifestazione d'Automobile a Cocos2D:
L'automobile usa due giunture ria voluta per girare l'automobile e due giunture prismatiche per aggiungere la forza motrice (la coppia di torsione?) all'automobile. Il progetto di Xcode è disponibile per trasferimento di dati e thumbstick effettivo che la regolazione dell'automobile è provvista dalla biblioteca SneakyInput popolare. The Xcode project is available for download and the virtual thumbstick controlling the car is provided by the popular SneakyInput library.
L'Art d'Asserzione (come questo pertiene a Xcode)
Recentemente, ho cambiato file di codice sorgente di tutto il mio progetto da.m a estensioni di file.mm. Questo sta dicendo al compilatore compilare i file come Obiettivo-C ++/C ++ il codice invece dell'inadempienza Objective-C/C. Avevo bisogno di fare così perché sto usando Box2D, e come un'abitudine ho intenzione di usare.mm d'ora in poi per ogni file di sorgente che creo. I needed to do so because I’m using Box2D, and as a habit I intend to use .mm from now on for every source file I create.
Comunque, si guardi delle differenze sottili. Prima, se un NSAssert fu provocato, fermò l'esecuzione di programma. Ma in file.mm questo semplicemente stampa il messaggio d'asserzione alla console mentre l'App continua l'esecuzione. Questo conduce ad asserzioni guardate dall'alto, o i messaggi d'asserzione ininterrottamente vendenti merce sottocosto alla console. Chiaramente non quello che volli. Cambio dell'estensione di file da.mm indietro a.m fissò il problema, ma questo non è una scelta che ho per tutti i file. But in .mm files it simply prints the assertion message to the console while the App continues execution. This leads to overlooked assertions, or continuously dumping assertion messages to the console. Clearly not what I wanted. Changing the file extension from .mm back to .m fixed the problem, but that’s not an option I have for all files.
Mi guardai intorno e trovai un articolo blog da Vincent Gable che menziona che NSAssert è considerato dannoso. Questo prese la mia attenzione, perché descrisse lo stesso problema che provai (NSAssert non l'esecuzione titubante) basando l'argomento su Vudù (“Qualche volta fa, qualche volta non fa …”) rispettivamente nessun argomento affatto, sta soltanto dicendo che Lei “NSAssert è su cui non si può contare, perciò pericoloso”.
È come se lui voglia che io lo dimostri in modo sbagliato.
In difesa di Vincent, lo sbagliato lui è fatto a NSAssert da cui lui compensa aver scritto un gran metodo di taglio e trasporto dei tronchi che sto per aggiungere a gocos perché è così comodo.
Perché asseriscono () è meno utile che NSAssert
Prima di tutto, l'asserire () la funzione ha un problema grande: questo non permette ai parametri di esser aggiunti allo spago di produzione, poiché lo spago di produzione può solo essere uno spago costante, come in quest'esempio:
Con NSAssert Lei può veramente embedd alcuni valori nel messaggio d'asserzione:
È tremendeously utile in molti casi di vedere veramente l'offesa o i valori interessanti nel messaggio d'errore, senza bisogno avere di infiammare il programma di correzione degli errori. Particolarmente quando si tratta di nomi di file, e perfino più così se gli utilizzatori finali potrebbero vedere quelle asserzioni. Non un problema sulla SOLUZIONE INTEGRATA PER UFFICIO, ma pensano di sviluppare Apps fatto col personal computer. Not a problem on the iOS, but think of developing desktop Apps.
Perché NSAssert non è dannoso, e come fissarlo
Così allora, perché non ha fermato il mio App l'esecuzione quando un NSAssert ha provocato? Non posso veramente risponderLe che, i dottori di mela dicono che NSAssert alzerà un NSInternalInconsistencyException. In modo che debba impedire che l'App funzioni? Non sembra di essere il caso quando Lei sta usando l'Obiettivo-C ++ il compilatore, e non sto dirigendo il codice secondo un filo diverso neanche. Forse qualcuno può fare alcuna luce quanto a perché NSAssert in C ++ il codice automaticamente non impedisce che l'App funzioni. So that should stop the App from running? It does not seem to be the case when you’re using the Objective-C++ compiler, and I’m not running the code on a different thread either. Maybe someone can shed some light as to why NSAssert in C++ code doesn’t automatically stop the App from running.
La buona cosa è, c'è una strada facile di fissare questo. In Xcode scelgono la Corsa-> la Dimostrazione-> i Punti di arresto di una esecuzione dal menù, per allevare la lista di punti di arresto di una esecuzione. Nella lista del punto di arresto di una esecuzione Lei solo ha bisogno di aggiungere il simbolo objc_exception_throw. La prossima volta che un NSAssert provoca, l'App si fermerà immediatamente e alleverà il programma di correzione degli errori. In the breakpoint list you only need to add the symbol objc_exception_throw. Next time an NSAssert triggers, the App will stop immediately and bring up the debugger.

Alcuni posti (ad esempio: qui) anche Le dirà aggiungere [NSException alzano] alla lista di punti di arresto di una esecuzione. Questo non è necessario, questo è stato sostituito con objc_exception_throw da Mac OS X 10.5. That’s not necessary, this has been replaced with objc_exception_throw since Mac OS X 10.5.
Spegnere d'asserzioni
Devo ammettere, sono completamente viziato da Studio Visivo. Perché Xcode La ordina di aggiungere NS_BLOCK_ASSERTIONS siccome una macroistruzione al Suo progetto costruisce installazioni per non compilare NSAssert in rilascio costruisce è al di là di me. Se Lei sta usando NSAssert nel Suo codice, si assicuri che il Suo rilascio e/o distribuzione costruiscono definiscono la macroistruzione NS_BLOCK_ASSERTIONS. If you’re using NSAssert in your code, make sure that your release and/or distribution builds define the NS_BLOCK_ASSERTIONS macro.
Se Lei proprio usa l'asserire () macro comunque, o se Lei sta usando una 3a biblioteca del partito che gli usi asseriscono (), si assicuri per anche definire NDEBUG per rilascio/distribuzione costruisce.
Come una nota di parte, quando aggiorno il mio cocos2d-progetto rispettivamente lo sostituiscono con gocos, questo avrà tutte queste installazioni in modo conveniente configurate.
Cattura d'eccezioni imprese
Su una questione imparentata, c'è sempre il problema d'eccezioni imprese che semplicemente fermano il Suo App, con un po' di probabilità di localizzare e rimuovere errori dalla causa effettiva. Questo avviene raramente, ma quando questo fa, sarebbe veramente utile anche allevare il programma di correzione degli errori con la pila di telefonata corrente e tutto. Lei può mettere un addestratore d'eccezione globale a prendere eccezioni imprese chiamando il NSSetUncaughtExceptionHandler nel metodo applicationDidFinishLaunching del Suo AppDelegate: You can set a global exception handler to catch uncaught exceptions by calling the NSSetUncaughtExceptionHandler in the applicationDidFinishLaunching method of your AppDelegate:
{
NSLog ("l'eccezione impresa: il %", exception.description); %@", exception.description);
}
- (vuoto) applicationDidFinishLaunching: (UIApplication *) l'applicazione) applicationDidFinishLaunching:(UIApplication*)application
{
NSSetUncaughtExceptionHandler (&onUncaughtException);;
...
}
Nel metodo onUncaughtException Lei semplicemente registrerà l'eccezione sul giornale di bordo e (molto importante) aggiungono un punto di arresto di una esecuzione. Il messaggio NSLog serve allo scopo di essere capace di facilmente mettere un punto di arresto di una esecuzione all'interno di questo metodo. Non deve essere altro NSAssert perché questo lancerà altra eccezione, che solo servirà per fare la messa a punto più complicata quando un punto di arresto di una esecuzione semplice basta. It should not be another NSAssert because that will throw another exception, which will only serve to make debugging more complicated when a simple breakpoint suffices.
Il Cocos2D Xcode il Progetto su Github
Il mio Cocos2D Xcode il progetto è adesso su Github. La sorgente aperta, libera, in modo conveniente MIT Autorizzato, include il rootViewController e sostiene Cocos2D v0.99.5 rc0.
Sto anche lavorando (con) una versione molto aumentata del progetto di Xcode. Questo integra la cera (Lua) e un Sistema di Componente d'Oggetto di Gioco che definii “gocos”. Anche viene con classi di comodità molto più utili. Also comes with a lot more useful convenience classes.
Ma l'idea grande è quella di veramente scaricare (o il collegamento dentro github, se posso riuscire a capire se e come questo lavora) tutti i progetti dipendenti in un deposito, in modo che Lei possa scaricare tutto subito e questo lavora della scatola. Attualmente ci sono 3 progetti fatti riferimento da cocos2d-progetto: il gocos (chiamarlo una biblioteca di comodità e codice di gameplay per Cocos2D), la cera (il sostegno di Lua) ed evidentemente il cocos2d-iPhone. Allora tutto questo è necessario sta per esser legato in un fascio in un pacco grande, quali vuoti tutta l'incompatibilità di versione emette. gocos (let’s call it a library of convenience and gameplay code for Cocos2D), wax (Lua support) and obviously cocos2d-iphone. So everything that’s needed is going to be bundled in one big package, which voids all of the version incompatibility issues.
Lei può ancora fare esperimenti con versioni diverse di queste biblioteche ma in quel caso penso che Lei sa quello che Lei sta facendo e questo esce devono esser aspettati. Ma essendo un deposito github, Lei può certamente clonare e commettere cambiamenti.
Stuzzichino
Qui è quello che ho fatto con Lua. Lo sto attualmente usando solo come una sostituzione plist migliore per installazioni. È migliore che plist perché Lei può fare commenti su ogni articolo, Lei può classificarli facilmente, Lei può dirigere funzioni e gli algoritmi per generare valori o caricare dati supplementari, e in generale è molto più facile da lavorare con che il redattore plist. Qui è config.lua ridotto che è caricato a tempo di elaborazione in una gerarchia d'oggetti di NSDictionary: It’s better than plist because you can comment on each item, you can sort them easily, you can run functions and algorithms to generate values or load additional data, and in general it’s a lot easier to work with than the plist editor. Here’s a reduced config.lua that is loaded at runtime into a hierarchy of NSDictionary objects:
{
AccelerometerControls =
{
UpdatesPerSecond = 60, - 60 Hz
La capacità di reazione = 0.997,
SensitivityX =-2,
SensitivityY = 2,
MaxVelocity = 100,
},
}
restituisca config
E questa linea di codice carica questi valori e gli assegna alle proprietà corrispondentemente chiamate della classe d'obiettivo:
Questo è tutto che Lei ha bisogno di fare per trasferire i valori da config.lua in un caso di classe. Timesaver enorme! L'unico inconveniente è quello che questo attualmente non può differenziarsi tra galleggiante, intervallo e bool (a causa di NSNumber), allora questo attualmente solo sostiene proprietà di galleggiante. The only drawback is that it currently can’t differentiate between float, int and bool (due to NSNumber), so it currently only supports float properties.
Il Progetto di Xcode per Cocos2D v0.99.5 la beta 3
A causa di parecchi cambiamenti rompenti nelle versioni di beta Cocos2D recenti, compreso il rinominare del Cocos2D progettano a cocos2d-ios.xcodeproj, ho fatto un aggiornamento al mio progetto di Xcode. Lei sa, quel che da questo seminario universitario sotto la guida di un tutor che Le permette di tenere Cocos2D completamente seperate dal Suo codice, che a sua volta La permette a facilmente e al sicuro su - e il declino Cocos2D puramente sostituendo la cartella Cocos2D.
Così adesso questo anche lavora con Cocos2D e qui è il trasferimento di dati:
Scarichi il Progetto di Xcode (Cocos2D v0.99.5 la beta 3 e più tardi)
Quello che Lei deve fare per fare passare a potenza superiore il progetto, in caso Lei già iniziò un progetto dalla mia sagoma Xcode più vecchia, ma Le piacerebbe fare passare a potenza superiore a Cocos2D v0.99.5 la beta 3:
- tolga il progetto di cocos2d-iPhone dal Suo progetto di Xcode
- segua queste istruzioni da Scelto il Progetto sé stesso fino a e compreso Drag & Drop Libraries per Porre come obiettivo
- (non dimentichi di ripetere le istruzioni per tutti gli obiettivi che Lei sta usando, non soltanto il corrente)
- pulisca tutti gli obiettivi e costruisca
Annoti: secondo la SOLUZIONE INTEGRATA PER UFFICIO la versione di SDK Lei è in atto, Lei dovrebbe Ricevere l'Informazione sul progetto di Xcode così come il progetto di cocos2d-ios e sull'etichetta Generale mette SDK Basso a SOLUZIONE INTEGRATA PER UFFICIO 4.x, poi chiude e riapre il progetto (Xcode deve aggiornare la versione SDK immediatamente ma qualche volta questo non fa).
Se Lei progetta di usare Cocos2D v0.99.4 allora il progetto di Xcode che sostiene questa versione Cocos2D è ancora disponibile qui.
Sto scrivendo un Libro: Impari l'iPhone e iPad Cocos2D lo sviluppo di Gioco
Sto scrivendo un libro per Apress:
Impari l'iPhone e iPad Cocos2D lo sviluppo di Gioco: La Struttura Principale per Costruire 2e Applicazioni Grafiche e Interattive
Indovino che qualcuno volle essere molto preciso e minuzioso.
Sono blog su progresso del libro qui e quando è pubblicato aggiungerò materiali supplementari allora i lettori possono continuare il loro viaggio qui. Poiché questo viaggio sta soltanto cominciando – sto proponendo che il primo capitolo in modo adatto intitolò "l'Introduzione" domani – e la scrittura che un libro intero di 400 pagine è un'esperienza completamente nuova a me, voglio farLa entrare sul viaggio.
Mi aiuti ad aiutarLa da provvedendo il feedback a contenuto del libro siccome lo sto scrivendo!
Per le settimane venienti, annuncerò il titolo di capitolo di libro corrente e una descrizione corta e Le chiederò quello che Le piacerebbe vedere in questo capitolo. Farò questi posti ogni venerdì cominciando domani finché il libro sia completo. In questo posto Lei poteva iniziare dicendomi che Lei aspetterebbe da questo libro o che Le piacerebbe vedere in questo soltanto dato il suo titolo? Indovino che la Sua risposta sarà "molto" data la natura allungata del titolo.:p In this post you could start by telling me what you’d expect from this book or what you’d like to see in it just given its title? I guess your answer will be “a lot” given the title’s elongated nature. :p
Spero che Lei mi perdona se gli aggiornamenti contenti a questo sito web non saranno come completo durante i mesi venienti, in favore di scrittura del libro e codificazione di giochi campione. Più sto cucinando su qualcosa speciale sulla parte, ma tutti a tempo debito.
Oh, a proposito, se Lei capita di sapere che tipo di frutto che è sulla copertura che mi piacerebbe sapere. Potevo soltanto chiedere che il mio redattore ma mi piacerebbe vedere se possiamo riuscirlo a capire senza l'aiuto da Apress. Questo veramente non mi assomiglia a una noce di cocco, che si sarei adattato dato il soggetto. Se Lei ha qualche idee come il frutto è, fatemi sapere! Questo le occhiate sicure esotiche e è definetely non una banana, né un limone. Così che cosa è? Il primo per annunciare la risposta corretta in un commento, insieme con un collegamento con Wikipedia o altro sito web come prova, riceve una copia del libro gratis quando questo è fuori (o 40$ adesso)! It doesn’t really look like a coconut to me, which would have been fitting given the subject. If you have any ideas what fruit it is, let me know! It sure looks exotic and it’s definetely not a banana nor a lemon. So what is it? The first to post the correct answer in a comment, together with a link to Wikipedia or some other website as proof, gets a copy of the book for free when it’s out (or $40 now)!
E adesso per qualcosa completamente diverso …
Come una nota di parte, i file di progetto di Xcode dal Seminario universitario sotto la guida di un tutor Xcode sono adesso disponibili per trasferimento di dati qui. Avevo l'abitudine di chiederLe di unirsi al mio Bollettino d'informazioni ma non mi sento bene troppo buono su agganciamento di Lei su con il mio Bollettino d'informazioni usando il progetto come una carota pendente, così la congiunzione del Bollettino d'informazioni adesso sarà una cosa completamente spontanea. Solo mando bollettini d'informazioni per aggiornamenti notevoli e notizie importanti, al massimo un paio di volte per mese, allora questo è la cosa Lei vuole se Lei sta già lottando con eccedenza di RSS. I only send newsletters for substantial updates and important news, at most once or twice per month, so that’s the thing you want if you are already struggling with RSS overflow.
Lezione di Seminario universitario sotto la guida di un tutor di Xcode: SpaceManager + cocos2d FAQ gli aggiornamenti
Feci alcune aggiunte al Seminario universitario sotto la guida di un tutor Xcode e il cocos2d FAQ che sono basati su domande d'utente e preoccupazioni.
Seminario universitario sotto la guida di un tutor di Progetto di Xcode: Come integrare la Tamia SpaceManager
Come aggiornare il codice di cocos2d-iPhone in un progetto creato con una Sagoma di Progetto di cocos2d? (La teoria & il Consiglio)
Come fissare Box2d comune compilano errori? (deve compilare l'utilizzazione C ++)
Come fissare la Tamia comune compilano errori? (non compila con C ++ il codice)
Come tirare uno Sfondo di Parallasse senza fine ripetente? (molto semplice, molto efficace)
Cercando Tutorial & FAQs
Sto ancora provando a ricevere la funzione di ricerca sul Seminario universitario sotto la guida di un tutor e le pagine FAQ fissate. Attualmente questo lavora per i solo ma altri collegamenti di risultato di ricerca Tutori Xcode può semplicemente mostrare un Errore. Proverò ad arrivare questo fissò più veloce che posso e io ricevere il sostegno molto utile dalla gente a ScreenSteps Vivo allora sono pieno di speranza. I’ll try to get this fixed as fast as i can and i’m getting very helpful support from the folks at ScreenSteps Live so i’m hopeful.
Per favore anche annoti che la ricerca blocca il pannello di navigazione non cerca il FAQ e i Seminari universitari sotto la guida di un tutor, soltanto il blog e le pagine.
Aggiornamenti di Seminario universitario sotto la guida di un tutor di Progetto di Xcode: Box2d & Sagoma
Se Lei seguì il mio Seminario universitario sotto la guida di un tutor di Progetto di Xcode o lo ricevè dopo mettere la firma per il mio Bollettino d'informazioni Lei può aver notato che non compilerebbe se Lei aggiunse #import “box2d.h” ad alcuna delle Sue classi. Investigai e grazie ai Suoi commenti il problema fu facile da fissare. Scrissi una lezione Tutoria che espone dettagliatamente box2d i problemi d'integrazione e come risolverli. I wrote a Tutorial lesson detailing box2d integration issues and how to solve them.

Inoltre, Tim Soliday chi blogs a FatFingerStudios.com passò attraverso lo sforzo per creare una Sagoma Xcode "vera" del mio progetto Tutorio. Da "vero" voglio dire una Sagoma Xcode che sarà aggiunta a “File di Xcode-> la Nuova” lista Di progetti d'applicazioni in modo che Lei possa preferire iniziare da “cocos2d l'Applicazione da là. Questo è stato anche richiesto da lettori. Aggiunsi altra lezione Tutoria che descrive come installare la Sagoma di Xcode di Tim. This has also been requested by readers. I added another Tutorial lesson which describes how to install Tim’s Xcode Template.
Aggiungerò la Sagoma Xcode di Tim alla posta di benvenuto di Bollettino d'informazioni in dei minuti di coppia allora i nuovi abbonati di Bollettino d'informazioni lo riceveranno automaticamente! Se Lei ha già messo la firma per il mio Bollettino d'informazioni Lei l'avrà nel Suo inbox tra poco, Lei non deve mettere la firma di nuovo!
Nuovo Projectfiles che Lei riceverà anche contiene i pasticci di box2d e include la mia raccolta di codice sorgente libera e parecchi altri cambiamenti. Il più notevolmente l'aggiunta di file di Licenza e struttura di cartella che vanno insieme con questo quali aiutano me e i miei clienti a differenziarsi tra il mio codice sorgente basso che è solo autorizzato al cliente contro codice sorgente che è più tardi completamente posseduto dai miei clienti. Si senta libero di non fare caso o cancellare questi file di Licenza se Lei ha l'è inutile per loro. Feel free to disregard or delete these License files if you have no use for them.
Raccolta d'articolo
cocos2d per starter
Il cocos2d homepage – questo deve essere ovvio, ma poiché la maggior parte terra della gente sulla pagina di deposito di codice sorgente google per iPhone cocos2d invece di homepage vero www.cocos2d-iphone.org volli annunciarlo qui. Di solito i fili più degni di nota dal foro così come i posti di blog importanti da altri sono annunciati sul blog, e certamente qualsiasi nuovo rilascio e gli aggiornamenti a cocos2d.
la documentazione d'iPhone di cocos2d – un posto sul sito web ufficiale spiega dove Lei può trovare che tipo della documentazione.
Le cose rincresco che io non sapessi quando iniziai da cocos2d – Troubleshooting, Tips & Tricks per tutti
Ray Wenderlich (il Divertimento precedentemente Mitico) annunciò un gran seminario universitario sotto la guida di un tutor su come fare un gioco d'iPhone semplice con cocos2d. Guardi intorno al suo sito web siccome lui continua a scrivere nuovi articoli tutorialistic come creazione di pulsanti in cocos2d e un'introduzione al motore di fisica box2d che è anche la parte di cocos2d.
L'introduzione a 2a programmazione di gioco con iPhone cocos2d
La programmazione d'iPhone cocos2d guida nel cocos2d Wiki.
L'introduzione a iPhone cocos2d gli effetti visivi (aka FX Visivo).
Riferimento di Linguaggio di programmazione Oggettivo-C eccellente di mela (PDF)
Apra GL ES 1.1 riferimento – solo ebbe bisogno se Lei ha intenzione di fare OpenGL che programma – Lei non ha bisogno di sapere di OpenGL se Lei sta usando cocos2d ma questo può entrare comodo qualche volta.
Quanto a libri, non posso raccomandare Progetti di Giochi d'iPhone da Apress. Si ripeta: non raccomandato! È una raccolta male scritta di posti di blog sul genere di giochi che la maggior parte progettisti di gioco non vorrebbero fare (gli scacchi eccetera). Questo non contiene esempi particolarmente buoni o riutilizzabili di codice e la scelta di progetti è discutibile dire minore. Questo ha il valore generalmente molto piccolo per un progettista d'iPhone cocos2d siccome tutti gli esempi sono o scritti in Contatto di Cacao o pianura OpenGL.not recommended! It’s a badly written collection of blog posts about the kind of games most game developers would not want to make (chess etc). It does not contain particularly good or reusable examples of code and the choice of projects is questionable to say the least. It has generally very little value for a cocos2d iPhone developer as all examples are either written in Cocoa Touch or plain OpenGL.
il cocos2d, il Cacao e l'Obiettivo-C cifrano frammenti
Dia un'occhiata al mio CCDirector proposto drawScene il metodo che ridipinge lo schermo in qualunque momento Lei può avere bisogno a.
Posto di Blog: efficientemente riutilizzando Default.png per modo di paesaggio – la Nota: Ricardo ha da allora integrato questo in codice sorgente di Lingua Sapus. Ricardo has since integrated this in Sapus Tongue source code.
Integrazione di altro APIs in un'applicazione cocos2d o un gioco
Prima di tutto, qui è un seminario universitario sotto la guida di un tutor su come integrare il riferimento d'interfaccia di programmazzione dell'applicazione cocos2d in Xcode.
L'Integrazione Facebook Si connette con cocos2d. Vedi anche il posto di foro per i commenti d'utente. Inoltre guardi questo video su addizione che Facebook Si connettono al Suo progetto di Xcode poiché i passi necessari non sono coperti nel seminario universitario sotto la guida di un tutor d'integrazione. E ancora una volta, gli scioperi di Stackoverflow con una raccolta di collegamento eccellente per Facebook Collegano progettisti d'iPhone. In addition watch this video about adding Facebook Connect to your Xcode project since the necessary steps aren’t covered in the integration tutorial. And once again, Stackoverflow strikes with an excellent link collection for Facebook Connect iPhone developers.
Integrazione di AdMob con Applicazioni d'iPhone cocos2d
Integrazione di OpenFeint con Applicazioni d'iPhone cocos2d
Integrazione di Agon In linea in iPhone cocos2d
Combinazione di SIO2 con cocos2d, con codice sorgente
SpaceManager – una carta Oggettiva-C per Tamia
Ci sono già i porti per iPhone cocos2d, uno focalizza a porto cocos2d l'iPhone a.NET Mono che usa C # e l'altro porto cocos2d è situato nella Giava per sviluppo d'Androide.
Gli attrezzi generalmente utili & la conoscenza per progettisti d'iPhone cocos2d
Una lista di redattori utili per sviluppo cocos2d è descritta sul cocos2d’s homepage blog in due parti: si separi un e la parte due. Questo include redattori di tegola, l'Atlante di Struttura e i generatori di Serie completa di caratteri Bitmap. It includes tile editors, Texture Atlas and Bitmap Font generators.
Pseudocodice di Ernesto secondo collisioni perfette il Pixel. Fu duro trovare e gli altri sembrano di avere problemi trovandolo pure già la gente già lo sa come “il posto di Ernesto”, allora questo merita una menzione qui. In questo foro il posto è un'esecuzione di codice di collisione perfetto il pixel e qui è altra esecuzione di collisioni perfette il pixel. Finalmente impariamo sulle complessità di endianness in dati di pixel, volendo dire come i dati di pixel cambiano secondo la piattaforma (l'iPhone contro Mac). In this forum post is one implementation of pixel-perfect collision code and here is another implementation of pixel-perfect collisions. Finally we learn about the intricacies of endianness in pixel data, meaning how pixel data changes depending on the platform (iPhone vs Mac).
L'attrezzo d'Atlante di Struttura di Zwoptex per uso con iPhone cocos2d (e probabilmente gli altri)
La scoperta di perdite di memoria usando il FRAGORE l'analizzatore statico. Non perda la memoria. Questo è terribile. Legga come Lei può dirigere un programma che Le dice con accuratezza impressionante dove ci sono perdite di memoria nel Suo codice, gli almeno potenziali. Si assicuri che Lei anche legge i commenti più lontano giù poiché loro contengono più campioni di linea di comando che fissano alcuni problemi per iPhone OS 3.x tra altre cose. That’s terrible. Read how you can run a program that tells you with impressive accuracy where there are memory leaks in your code, at least potential ones. Make sure you also read the comments further down since they contain more command line samples that fix some issues for iPhone OS 3.x among other things.
Come ottenere l'iPhone crashlogs dai Suoi tester della beta e costumisti. E poi c'è manuale di mela su come localizzare e rimuovere errori da crashdumps. In corto: sempre compili sia la messa a punto sia il rilascio costruisce nello stesso momento, poi tenga file sia & dSYM sia si assicuri che Lei può più tardi identificarsi alla quale versione e costruiscono loro appartengono a. È il più facile da usare il controllo di sorgente qui e semplicemente la bandiera o marcare la versione con cui Lei aveva l'abitudine di creare distribuito Ad hoc o le versioni di Deposito di App. In short: always compile both debug and release builds at the same time, then keep both dSYM files and make sure you can later identify to which version and build they belong to. It’s easiest to use source control here and simply flag or label the version you used to create distributed Ad-Hoc or App Store versions with.
Apps d'iPhone può esser aperto via URLs che anche permettono di passare quello che alcuni potrebbero chiamare “argomenti di linea di comando”. Qui sono alcuni siti web che documentano quegli URLs per vario apps: gli schemi di URL di vario iPhone Apps, allora c'è handleOpenURL: il sito web e finalmente AppLookup.com.URL schemes for various iPhone Apps, then there’s the handleOpenURL: website and finally AppLookup.com.
Chiaramente per collegarsi al Deposito di App Lei troverà il Produttore di Collegamento di iTunes di mela utile. Su Stackoverflow Lei può imparare come creare collegamenti con il Suo App che Lei può mandare via posta elettronica. E finalmente, quest'articolo Ars Technica copre tutti i dettagli più eccellenti di creare un collegamento di Deposito di App che lavora per Deposito di App dell'iPhone, compreso apertura del Deposito di App app con un termine di ricerca – che è l'unica strada di mostrare tutto l'apps di una compagnia particolare o un progettista su Deposito di App dell'iPhone. And finally, this Ars Technica article covers all the finer details of creating an App Store link that works for the iPhone’s App Store, including opening the App Store app with a search term – which is the only way to show all the apps of a particular company or developer on the iPhone’s App Store.
8 Avvertimenti Oggettivi-C confusi Ed errori spiegano alcune cose più confuse Xcode (veramente: GCC) lancia a Lei e le foglie Lei la meraviglia. Dopo lettura di quest'articolo Lei saprà quello che Lei sta affrontando la prossima volta che questo arriva. After reading this article you’ll know what you’re dealing with the next time it comes up.
Approvvigionando Profili Gotchas – noi tutti abbiamo uno di questi problemi prima o poi (o frequentemente).
Le ragioni di Rigetto di Deposito di App – essere sicure di passare attraverso questa lista di verifica prima di sottomissione del Suo App a iTunes Si connettono per evitare il Suo essere rifiutato di App a causa di un po' di sbaglio comunemente fatto o svista.
Come costruire un file IPA di Xcode Le mostra come a situazione un obiettivo costruire in Xcode che è la produzione un file IPA. Quelli sono molto utili per distribuzione Ad hoc del Suo App, siccome i file di IPA non arrivano come facilmente straziato (conducendo a errori come “risorse sono stati modificati”), particolarmente su macchine di Windows. Questo anche fa l'impianto Ad hoc costruisce più facile poiché un doppio clic semplice basta per aprire iTunes e installare l'App. Più questo avrà un'icona appropriata in cartella d'Applicazione di iTune. It also makes installing Ad-Hoc builds easier since a simple double-click suffices to open iTunes and install the App. Plus it’ll have a proper icon in iTunes’ Application folder.
Come in modo conveniente mettere la Data di Rilascio di iTunes del Suo App e le cose fare attenzione. Se Lei è su rilasciare App Lei deve leggere questo altrimenti Lei rischia il Suo App non messo in lista su “Quello che è la Nuova” lista.
Come calcolare le dimensioni di Deposito di App del Suo iPhone App prima d'approvazione. Non è magico, né casuale, può veramente esser calcolato a dentro un margine piuttosto piccolo d'errore. La buona cosa è, l'errore sarà quello che il calcolo Le dà le dimensioni massime che il Suo App poteva forse avere sul Deposito di App. Con esperienza Lei imparerà come buono la Sua compressa di Apps dopo approvazione, e questo dipende molto dal motore di gioco usato. L'unità è colpita particolarmente forte da questo, tipicamente l'Unità apps è aggiunta altri 4-5 MEGABYTE ad App sfrecciato che Lei sta scaricando, in alcuni casi perfino più. The good thing is, the error will be that the calculation gives you the maximum size your App could possibly have on the App Store. With experience you’ll learn how good your Apps compress after approval, and that depends highly on the game engine used. Unity is hit especially hard by this, typically Unity apps get added another 4-5 MB to the zipped App you’re uploading, in some cases even more.
Come mettere e cambiare la lista di lingue sostenute in iTunes: secondo questo posto su Stackoverflow tutto di cui Lei ha bisogno è il file localizzato di quel che. Quello che faccio è, sotto Risorse, aggiungo un nuovo File.strings e lo lascio vuoto. Allora lo scatto giusto, scelga Ricevono l'Informazione e sullo scatto d'etichetta Generale “Fanno il File Localizzabile”. Allora ritorni all'etichetta Generale e lo scatto “Aggiunga la Localizzazione” finché Lei abbia aggiunto tutte le lingue i Suoi sostegni di App. Annoti che Lei non deve fare riferimento o altrimenti usare quel file nel Suo codice – soltanto ha bisogno di essere là. Se Lei investiga il Suo Fascio di App (lo scatto giusto: Mostri Contenuti di Pacco) Lei noterà che le nuove cartelle come English.lproj, German.lproj eccetera esistono. Quelli sono scrutati da iTunes per creare la lista di lingue sostenuta. What i do is, under Resources, i add a new .strings File and leave it empty. Then right-click, choose Get Info and on the General tab click “Make File Localizable”. Then go back to the General tab and click “Add Localization” until you’ve added all languages your App supports. Note that you do not have to reference or otherwise use that file in your code – it just needs to be there. If you look into your App Bundle (right click: Show Package Contents) you’ll notice that new folders like English.lproj, German.lproj etc. exist. Those are scanned by iTunes to create the supported languages list.
Come cambiare il nome di un'Icona App secondo installazione di lingua dell'iPhone. Mentre siamo a questo Lei può anche imparare come riuscire a capire più rapidamente se un nome specifico ancora si adatta secondo l'Icona App senza esser accorciato.
Il mio iPhone & Sagome di Progetto di iPad per OpenOffice Tirano
L'Ufficio aperto Tira Sagome per progettare l'iPhone & i giochi iPad. Loro Le offrono una tela per creare gli elementi visivi del Suo gioco e lanciare le Sue idee. Li uso per lanciare le mie idee o creare disegni di concetto di iPhone/iPad apps e giochi. I use them to pitch my ideas or create concept drawings of iPhone/iPad apps and games.
Lei può o usare l'Ufficio Aperto Tirano per attingerli, o soltanto stampare le immagini e attingerlo. Entrambe le versioni hanno almeno una immagine dove lo sfondo di schermo è bianco, allora Lei può facilmente attingerlo. La versione iPad anche ha una rappresentazione di grafica di vettore, così se Lei si preoccupa troppo dello spazio completamente scuro per stampare – lo girano in grigio chiaro o perfino trasparente con soltanto le linee di demarcazione mostrate. The iPad version also has a vector graphics representation, so if you worry too much about the completely dark space for printing – turn it into light gray or even transparent with just the border lines shown.
Trasferimento di dati la Sagoma di Progetto d'iPhone per OpenOffice Tira.
Trasferimento di dati la Sagoma di Progetto di iPad per OpenOffice Tira. Per l'iPad presi la cura supplementare per scalare le immagini a vicino a dimensioni originali, e anche ricreai l'iPad come grafica di vettore in dimensioni originali quasi esatte.









