Libro di cocos2d, il Capitolo 6: Spritesheets & Zwoptex

Il 30 luglio 2010, in Annunci, libro, cocos2d, da Steffen Itterheim by Steffen Itterheim

Il capitolo 6 – Spritesheets e Zwoptex

In questo capitolo il centro sarà su Spritesheets (l'Atlante di Struttura), quello che loro sono e quando, dove e perché usarli. Certamente un capitolo su Spritesheets non sarebbe completo senza introdurre l'attrezzo Zwoptex. La grafica aggiunta in questo capitolo sarà allora usata per il gioco creato nel capitolo seguente. The graphics added in this chapter will then be used for the game created in the following chapter.

Il capitolo sarà presentato il venerdì, 6 agosto.

Qualcosa su Spritesheets Lei sempre ha voluto sapere?

Soltanto fatemi sapere. Starò facendo ricerche che tipo di gente di problemi fu e sta avendo riguardo a Spritesheets. Voglio assicurarmi che loro sono tutti coperti nel libro. I want to make sure that they are all covered in the book.

Per favore lasci un commento o mi scriva una posta elettronica.

Il riassunto di lavorare sul Capitolo 5 – i Componenti di Gioco

Finalmente trovai un titolo migliore per il capitolo. Una parte grande è su lavorare con Scene e Strati. Una classe LoadingScene è attuata per evitare la sovrapposizione di memoria quando transitioning tra due scene. Gli strati sono usati per modificare gli oggetti di gioco seperately da UI statico. Spiego come usare addestratori di contatto posti come obiettivo per toccare l'impiego di contatto per ogni strato individuale, i contatti & inghiottenti o no. A LoadingScene class is implemented to avoid the memory overlap when transitioning between two scenes. Layers are used to modify the game objects seperately from the static UI. I explain how to use targeted touch handlers to handle touch input for each individual layer, either swallowing touches or not.

Il problema di se a subclasse CCSprite o non è discusso e un esempio è dato come creare oggetti di gioco usando la composizione e senza subclassificare da CCNode e come questo cambia l'impiego di contatto e la programmazione.

Alla fine il restante specializzò classi CCNode come CCProgressTimer, CCParallaxNode e la classe CCRibbon con il CCMotionStreak sono dati un trattamento.

Come Lei può vedere dai quadri, sto anche facendo buoni progressi all'atto di formazione di un gran artista di pixel. Solo ho una strada looooooong prima di me ancora. Ma ammetto, poco so di art e quanto meno l'ho esercitato, sono piuttosto felice sui risultati e il divertimento avente con lui. L'aspetto fresco di questo è che questo deve essere art istruttivo. Non deve essere buono. Allora soltanto vado avanti e lo faccio e tendo a esser positivamente sorpreso dai risultati. Probabilmente toccherò questo soggetto nel vicino capitolo su Spritesheets: fare del Suo art. Non è migliore che niente, è il lavoro ancora creativo anche se può essere brutto ad altri, e sta molto più soddisfacendo fare tutto Lei stesso, anche se questo fa efetto un po' più a lungo e non sembra come buono. Almeno è tutto il vostro, Lei sta avendo il divertimento, e impara qualcosa lungo la strada. E Lei può sempre trovare un artista uno di questi giorni più tardi che soltanto distillerà le Sue immagini esistenti o chi sostituisce i Suoi effetti sonori di scoreggia con qualcosa più adatto. But I admit, the little I know about art and how much less I’ve practiced it, I’m pretty happy about the results and having fun with it. The cool aspect of it is that this should be instructive art. It doesn’t have to be good. So I just go ahead and do it and tend to be positively surprised by the results. I’ll probably touch this subject in the next chapter about Spritesheets: doing your own art. It’s better than nothing, it’s still creative work even if it may be ugly to others, and it’s a lot more satisfying to do everything yourself, even if it takes a bit longer and doesn’t look as good. At least it’s all yours, you’re having fun, and learn something along the way. And you can always find an artist sometime later who will just draw over your existing images or who replaces your fart sound effects with something more appropriate.

Btw, se Lei sta cercando un programma di redazione di immagini decente e libero per il Mac, stavo usando la Riva del mare durante circa un anno adesso e sono piuttosto felice di questo.

Insetto di cambio di scena bizzarro [risolto] …

Il 27 luglio 2010, in cocos2d, da Steffen Itterheim by Steffen Itterheim

Ho bisogno d'aiuto. Ho colliso con problemi strani con cocos2d molto semplice v0.99.4 il progetto creato della sagoma di progetto di cocos2d. Sono due scene con uno strato ciascuno, molto come lo strato HelloWorldScene regolare. Semplicemente si suppone che ogni scena si sostituisca con l'altra scena, su contatto. Quello che avviene è che la prima scena iniziata da runWithScene è mai deallocated dopo il primo cambiamento di scena. Allora rimane in memoria e continua a ricevere i contatti, il que significa che un contatto si sta sempre comportando come se cambiando dal primo alla seconda scena. It’s two scenes with a layer each, much like the regular HelloWorldScene layer. Each scene is simply supposed to replace itself with the other scene, on touch. What happens is that the first scene started with runWithScene is never deallocated after the first scene change. So it stays in memory and keeps receiving the touches, which means a touch is always behaving as if switching from the first to the second scene.

Quello che è più, se aggiungo l'onEnter e i metodi onEnterTransitionDidFinish alla prima scena, senza aggiungergli qualche codice, la prima scena/strato non riceve nessun avvenimento di contatto affatto. La seconda scena non mostra questo comportamento e lavori eccellenti con questi metodi attuati.

Forse sto soltanto guardando il molto ovvio dall'alto, se Lei poteva guardare e fatemi sapere se c'è qualcosa che sto facendo in modo sbagliato con questo codice per favore fatemi sapere! Grazie.

Scarichi il codice qui: ScenesAndLayers02

Libro di cocos2d, il Capitolo 4: Gioco Prima Semplice

Il 17 luglio 2010, in Annunci, libro, cocos2d, da Steffen Itterheim by Steffen Itterheim

Il capitolo 4 – Gioco Prima Semplice

Dopo che il Capitolo 3 coprì i principi fondamentali del motore di gioco cocos2d, questo capitolo metterà per usare quello che Lei ha imparato. Il gioco semplice è tutto su nemici calanti che Lei deve evitare via controlli d'accelerometro. La specie di i simili un Salto di Scarabocchio inverso. Ma non è quasi il gameplay sé stesso, voglio che il gioco sia ragionevolmente completo di un menù principale, delle transizioni di scena, il gioco finito e certamente audio. Sort of like an inverse Doodle Jump. But it’s not just about the gameplay itself, I want the game to be reasonably complete with a main menu, scene transitions, game over and of course audio.

Il capitolo sarà presentato il venerdì, 23 luglio.

Ha Lei qualche suggerimenti per il gioco?

Che fa Lei pensa deve essere in un primo gioco cocos2d? Fatemi sapere!

Il riassunto di lavorare sul Capitolo 3 – l'Elemento essenziale

Quando iniziai il capitolo non fui veramente sicuro del suo centro e il progresso fu un po' di lento. Alla fine questo scattò e mi trovai finendo avendo scritto più pagine che necessario e ancora avendo un gran numero rimasto di cose incalcolabili. La chiave guardava la documentazione di riferimento d'interfaccia di programmazzione dell'applicazione cocos2d e ricordava quello che questo assomigliò quando fui un principiante. Sicuro, ogni classe, metodo e proprietà è là, ma per un inizio cocos2d il progettista il riferimento d'interfaccia di programmazzione dell'applicazione è soltanto una lista enorme di nomi. In altre parole, se la Sua esperienza fu o è qualcosa come mia fu, è frustrante lavorare con il riferimento d'interfaccia di programmazzione dell'applicazione. The key was looking at the cocos2d API reference documentation and remembering what it was like when I was a beginner. Sure, every class, method and property is there but for a beginning cocos2d developer the API reference is just a huge list of names. In other words, if your experience was or is anything like mine was, it’s frustrating to work with the API reference.

Finii scrivere sul progetto macchine cocos2d e il suo grafo di scena prima, il 80 % restante del capitolo spiega in dettaglio con molti campioni di codice come usare quelli rammendano classi CCNode. Tutti gli importanti sono coperti: CCNode, CCScene, CCLayer, CCSprite, CCLabel, CCMenu, CCMenuItem* così come il Direttore, Transizioni e Azioni. Oltre ai campioni di codice e come - a ho aggiunto diffide numerose, gli sbagli comuni, le pratiche migliori e altri nodi che sono tanto necessari per fare qualsiasi documentazione completa. CCNode, CCScene, CCLayer, CCSprite, CCLabel, CCMenu, CCMenuItem* as well as the Director, Transitions and Actions. Besides the code samples and how-to I’ve added numerous caveats, common mistakes, best practices and other nodes which are so very much needed to make any documentation complete.

Ad esempio, come gli Strati sono meglio usati per raggruppare altri nodi e certamente come permettere il contatto e l'accelerometro introdotto aggiungendo le funzioni richieste che non sono menzionate nel riferimento d'interfaccia di programmazzione dell'applicazione poiché loro sono la parte dell'iPhone l'interfaccia di programmazzione dell'applicazione di SDK. C'è anche alcuna raccomandazione bizzarra che galleggia intorno a per non usare troppi Strati perché loro sono lenti. Non posso trovare la sorgente, ma quello che proprio ho trovato fu che questo è solo true se gli Strati permettono il contatto o l'impiego d'accelerometro, perché questo è quello che costa molto svolgimento. Allora quello che Lei non vuole avere è parecchi impieghi d'accettazione di strati, altrimenti usi tanti Strati quanto Lei ha bisogno – che non deve essere molti comunque. E se Lei proprio ha bisogno d'impiego d'accettazione di Strati multiplo, perché non soltanto usano uno Strato di padrone (forse usando un addestratore di Contatto Posto come obiettivo) quale in avanti gli avvenimenti d'impiego in modo adatto agli altri Strati? I can’t find the source but what I did find was that this is only true if the Layers enable touch or accelerometer input, because that’s what costs a lot of performance. So what you don’t want to have is several layers accepting input, otherwise use as many Layers as you need – which shouldn’t be many anyway. And if you do need multiple Layers accepting input, why not just use one master Layer (possibly using a Targeted Touch handler) which forwards the input events appropriately to the other Layers?

Libro di cocos2d, il Capitolo 2: Esser iniziato

Il 2 luglio 2010, in Annunci, libro, cocos2d, da Steffen Itterheim by Steffen Itterheim

Il capitolo 2 – Esser iniziato

Questo capitolo comincia dai prerequisiti soliti. Scarichi e installi l'iPhone SDK e cocos2d. Impianto cocos2d Sagome. Creazione del primo progetto da un cocos2d progetta la sagoma. Installing cocos2d Templates. Creating the first project from a cocos2d project template.

Da ciò che già scrissi che valuto che sarà circa un terzo del capitolo. Penso quello che sarebbe il più interessante in questo capitolo deve parlare di struttura di codice generale di progetti di cocos2d. Gli elementi fondamentali come Scene, Strati e Nodi. Come a transizione da uno schermo all'altro, per vedere che stiamo veramente facendo qualcosa fresco con poco sforzo. Per questo penso che i selezionatori programmati devono anche esser presentati a transizioni di tempo, e uno schermo potrebbe essere uno Strato che sta aspettando l'impiego di contatto per avanzare al vicino schermo. The basic elements like Scenes, Layers and Nodes. How to transition from one screen to another, to see that we’re actually doing something cool with little effort. For that I think the scheduled selectors should also be introduced to time transitions, and one screen might be a Layer which is waiting for touch input to advance to the next screen.

Potrebbe anche essere un buon posto per discutere la direzione di memoria cocos2d, come autorilascio statico initializers, e assicurandosi il dealloc è chiamato quando Lei cambia scene – altrimenti Lei sta evidentemente avendo una perdita di memoria.

Lo scopo è quello di ricevere il lettore in una posizione dove lui si sente comodo tirando fuori una struttura di schermo in cocos2d. Lui sa come inizializzare oggetti e come aggiungere e toglierli dalla scena. La fondazione di lavorare con cocos2d se Lei così è. The foundation of working with cocos2d if you so will.

Che fa Lei pensa deve essere nel Capitolo 2?

Fatemi sapere se Lei pensa che sto perdendo qualcosa importante. Se Lei non ha nessun suggerimento allora soltanto pensano a quello che Lei aspetterebbe dal capitolo leggendo questa descrizione, che potrebbe darLe alcuni pensieri.

Anche darei il benvenuto a qualsiasi punta e le trappole comuni in cui i progettisti cocos2d prime volte potrebbero intrappolarsi. Le punte esperte sono anche gradite, quelle piccole cose brutte o abitudini che potevano morderLa più tardi se Lei non li considera all'inizio.

Sto aspettando il Suo feedback! Ancora prima meglio. Il capitolo 2 sarà presentato poi il venerdì, 9 luglio. Chapter 2 will be submitted next Friday, July 9th.

Quello che è progettato per il Capitolo dopo questo

Soltanto per mettere il Capitolo 2 in contesto, per il Capitolo 3 sto progettando di parlare di classi cocos2d essenziali e processi. I folletti, le Etichette, i Menù, le Azioni, eccetera. Questo Le mostrerà come lavorare con loro usando piccoli ritagli di codice. Il capitolo probabilmente avrà un carattere "di riferimento" con vari campioni di codice, in modo che gli utenti esperti si sentano comodi saltando avanti mentre i principianti ancora lo trovano facile e incoraggiante per raccogliere i dettagli. It’ll show you how to work with them using small code snippets. The chapter will probably have a “reference” character with various code samples, so that experienced users feel comfortable skipping ahead while beginners still find it easy and encouraging to pick up the details.