Livro de cocos2d, Capítulo 3: Princípios básicos

No dia 10 de julho de 2010, em Anúncios, livro, cocos2d, por Steffen Itterheim by Steffen Itterheim

O capítulo 3 – Princípios básicos

Este capítulo é uma referência sobre as classes fundamentais de cocos2d e como usá-los. Nós, Camadas, Cenas, Etiquetas, Duendes, Transições, Ações, você denomina-o. Também CCDirector, SimpleAudioEngine e outras classes de carta avulsa muitas vezes usadas também. Os conceitos mais promovidos serão discutidos em um capítulo posterior, Spritesheets por exemplo. Also CCDirector, SimpleAudioEngine and other often used singleton classes as well. More advanced concepts will be discussed in a later chapter, Spritesheets for example.

A submissão do primeiro esboço de capítulo é devida seguinte sexta-feira, 16 de julho.

O que faz você pensa deve estar no Capítulo 3?

Você sabe uma classe cocos2d ou processo que você pensa é essencial e deve ser discutido neste capítulo? Avise-me!

Sumário de trabalho no Capítulo 2 – Começar

Para um detalhei o projeto de mostra Olá Mundial e fiz uma modificação simples usando entrada de toque. Ao mesmo tempo pelo menos algum nível básico da compreensão sobre classes cocos2d foi introduzido mas a essência dele é feita no Capítulo 3. Além disso, houve muitos aspectos teóricos que eu quis discutir também, o mais de tudo gestão de Memória e memória disponível bem como expectativas de colocação na prova no Simulador contra um dispositivo. E naturalmente os dispositivos e as suas diferenças sutis. Realmente espero que os gentis de detalhes sejam apreciados mesmo se eles não forem 100 % relacionados a cocos2d. Regularmente vejo reveladores cocos2d lutar com questões de memória, com diferenças inesperadas no dispositivo contra o Simulador, ou comparar framerates do Simulador e possivelmente até o Ajuste constrói. Isto fez-me querer vaiar do caminho batido por um momento para salvar confiantemente os leitores algumas concepções errôneas e a dor associada com eles. In addition, there were a lot of theoretical aspects I wanted to discuss as well, most of all Memory Management and available memory as well as setting expectations on testing on Simulator vs. a device. And of course the devices and their subtle differences. I do hope that those kind of details are appreciated even if they’re not 100% related to cocos2d. I regularly see cocos2d developers struggling with memory issues, with unexpected differences on the device vs the Simulator, or comparing framerates of the Simulator and possibly even Debug builds. That made me want to stray off the beaten path for a moment to hopefully save the readers some misconceptions and the pain associated with them.

Também realizei quantos passos um novo revelador tem de passar e quanto lá deve aprender em caso de que você nunca tem trabalhado com o I-Phone SDK antes. Ele começa com o registro como de revelador de I-Phone e não termina na instalação do SDK porque você também precisa dos perfis de fornecimento, característica muito discutida e incômoda. Para tudo isso referi-me a existente (e excelente) documentação de Maçã. Tipicamente a modificação de processos com cada novo I-Phone que SDK ou pode até ser abaixo de NDA, discutindo assim como tudo isso trabalha com o I-Phone SDK 4 não seria uma boa idéia desde que um pouco depois do livro é fora I-Phone SDK 5 pode estar vindo, introduzindo modificações ao Portal de Revelador e iTunes Unem-se com ele. Realmente adquiriu-me a idéia, e sei que os outros o têm também, que precisamos de algum Seminário de mãos da propriedade que toma o um pelos passos de registrar-se como Revelador de I-Phone à publicação de primeiro App de alguém, referindo-se à documentação oficial correta de cada passo não se esquecendo de alçapões comuns que não estão nos doutores oficiais. For all of this I refered to existing (and excellent) Apple documentation. Typically the processes change with each new iPhone SDK or may even be under NDA, so discussing how all of this works with iPhone SDK 4 wouldn’t be a good idea since shortly after the book is out iPhone SDK 5 may be coming, introducing changes to the Developer Portal and iTunes Connect with it. It did get me the idea, and I know others have it too, that we need some holding-hands Tutorial which takes one through the steps from registering as iPhone Developer to publishing one’s first App, by referring to the correct official documentation for each step while not forgetting about common pitfalls that are not in the official docs.

Também notei que fácil pode dever contemplar do alto como você repentinamente introduz um novo conceito sem explicá-lo primeiro. E logo você tem de decidir quanta informação é necessária para introduzir o conceito sem vaiar demasiado longe de sobre que você quer falar em primeiro lugar. É especialmente difícil para mim porque tendo a querer explicar tudo detalhadamente mas algumas coisas têm de ser deixadas para uma discussão posterior. Estou ansiando pelo feedback editorial agora. Ele ajudou tremendeously do primeiro capítulo e aprendi muito do pessoal editorial Apress, portanto o acho excitação que os peritos me apontam para as falhas e fazem sugestões, entro para fixá-los e logo ver quanto melhor é. Isto é como eu gosto de aprender coisas e ele está indo ser um dos conceitos principais do livro. Mostre como é feito, como não deve ser feito (se ele muitas vezes fazia mal) e como pode ser feito mesmo melhor se você quiser evitar a preocupação na corrida longa, explicando porque. It’s especially hard for me because I tend to want to explain everything in detail but some things have to be left for a later discussion. I’m looking forward to editorial feedback now. It has helped tremendeously for the first chapter and I learned a lot from the Apress editorial staff, so I find it exciting that the experts point me to the flaws and make suggestions, I go in to fix them and then see how much better it is. That’s how I like to learn things and it’s going to be one of the core concepts of the book. Show how it’s done, how it shouldn’t be done (if it’s often done wrong) and how it can be done even better if you want to avoid trouble in the long run, while explaining why.

6 Respostas a “cocos2d Livro, Capítulo 3: Princípios básicos”

  1. O Choong o Hong-Kong Cheng diz:

    Realmente goste de você livro sobre cocos2d, somente admirando-se se você pode acrescentar mais informação sobre a parte de acelerômetro especialmente sobre filtro de passo baixo e filtro de alto passo.

    Mais informação sobre ele em http://developer.apple.com/iphone/library/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MotionEvents/MotionEvents.html

    Pense é bonito utilmente para isolar o componente de gravidade. Construindo um tipo de Raiden do jogo com cocos2d agora e acho importante isolar a gravidade para adquirir os X e movimento Y. Avise-me o que você pensa nele? Let me know what you think about it ?

    O Hong-Kong Cheng

    • Os agradecimentos, que é um tópico interessante de fato! E facilmente contemplado do alto que há um conceito chamado gravidade que afeta dados de acelerômetro. Pelo menos devo fazer uma caixa de Nota e apontar para a conexão da informação adicional. At least I should make a Note box and point to the link for further information.

  2. Willis Morse diz:

    Uma área que precisa de muito mais documentação é as características espaciais da hierarquia de nó.

    A relação entre limites, armações, contentSize, escala etc. Que modificar-se quando, e os efeitos de lado e implicações de modificar cada um. Como eles são modificados (se em absoluto) por nós de pais. Nós “shrinkwrap” os seus limites em volta das suas crianças? Perguntas assim. How they are modified (if at all) by parent nodes. Do nodes “shrinkwrap” their bounds around their children? Questions like that.

    Algumas técnicas de depuração de hierarquia de visão de discussão seriam grandes, também. Tal como como determinar porque os nós de crianças não estão sendo expostos no tamanho/posição que você espera.

  3. Você e todos os outros parecem usar cenas frugalmente, a codificação difícil eles nas suas classes. Por exemplo, no seu texto fonte de capítulo 3, quando você vai à cena de cardápio, você tem um botão para voltar à cena HelloWorld:

    [[CCDirector sharedDirector] replaceScene: [Cena de HelloWorld]];

    Mas e se quero dar o opinião 10 cenas e mover-me entre eles com bater ou flechas de navegação? Não quero codificar muito as cenas avançadas e cenas traseiras em cada cena. Seria melhor ter uma espécie de gerente de cena, tipo de parecido uma cena de mestre com outro interior ele. It would be better to have some kind of scene manager, sort of like a master scene with the other inside it.

    É ele possível de ter em algum lugar do lado de fora das cenas:

    CCArray NextSceneArrayOfScenes = ”Scene00 ″, ”Scene01 ″, ”Scene02 ″;
    chosenScene + = 1;//usuário nagivates para a frente
    CCScene* nextScene = [NextSceneArrayOfScenes objectAtIndex:chosenScene];
    [[CCDirector sharedDirector] replaceScene: [cena de nextScene]];

    Ou você usaria camadas/nós em vez disso, e somente os moveria para o lado, simulando uma modificação de cena?

    Quando as pessoas fazem uma revista ou algo, como é cada página tratada, como uma cena ou como camadas/nós?

  4. Encontrei um seminário de um sceneManager.

    http://www.iphonegametutorials.com/2010/09/07/cocos2d-menu-tutorial-part-2/

    É bastante inteligente, criando uma camada e enrolando-o em uma cena e restituição dele para ser a nova cena.

    Pode ser modificado para que o sceneManager tenha uma tabela de todas as cenas possíveis, e a cena que chama o sceneManager pode enviar um número baseado na posição atual (diga se você está fazendo uma revista ou algo onde as cenas são o equivalente de "páginas").

    Contudo, algo com 50 páginas precisaria de ser provavelmente tratado mesmo mais eficientemente, onde as páginas são de qualquer maneira geradas dinamicamente, também carregando o conteúdo dinamicamente.

Deixe uma Resposta