FAQ:
cocos2d de I-Phone: Aviso de direitos autorais & Permissões Copyright Notice & PermissionsProcure o meu cocos2d documentos de perguntas feitas por usuários de I-Phone & Seminários
Por favor observe que a pesquisa de blog na esquina certa superior não procura os meus documentos de perguntas feitas por usuários e Seminários.- Observe: por favor não compartilhe conexões de carregamento diretas a arquivos PDF, as conexões de carregamento vencem depois de uns minutos de par!
Este documento é o Copyright 2010 (C) por Steffen Itterheim. Todos os direitos reservados.
Este documento foi criado exclusivamente para www.learn-cocos2d.com.
Você não pode transferir e apresentar este documento sobre um site web público, fórum, ou qualquer outra espécie do repositório de arquivo publicamente acessível. Em vez disso ligue-se à minha Base de Conhecimento ou a Subpágina desejada em: http://www.learn-cocos2d.com/knowledge-base http://www.learn-cocos2d.com/knowledge-base
Você não pode reimprimir os conteúdos deste documento em inteiro ou partes de revistas de impressão, jornais, etc. sem a minha permissão escrita prévia.
Você estimulam a compartilhar este documento entre os seus pares dados que o acesso ao documento permanece franco (excluindo as taxas de usuário do acesso à Internet). Permite-se que você cote excertos deste documento sobre o seu próprio site web ou em comentários de acordo com a doutrina de Uso justo.
Comentários (0)
Perguntas relacionadas
- O que as vantagens são a Cocos2d de outros motores de jogo? - Há 3 semanas
- Qual é Cocos2d? - Há 3 semanas










Esclarecimento de correio. Agradecimentos!
E, naturalmente, tenho alguns pergunta
- tudo é relativo, mas para o código comum é melhor para usar NSString, NSArray (e pagar o preço de criar novos objetos) ou os mutáveis? Que podem ser os parâmetros para selecionar entre cada um?
- Estou admirando-me se o novo I-Phone 4.0′s maior realização será uma questão. Os jogos que dirigem lisamente no I-Phone 1os e 2os dispositivos de geração correrão provavelmente demasiado rápido?
Oi Max,
duvido que os NSMutable* datasets sejam assassinos de realização. Não fiz nenhum teste mas estou bastante seguro que se você não os modificar em absoluto eles executarão provavelmente tão bom como os não-mutáveis. Agora, uma vez você *do* tem de modificar as tabelas ou cadeias está bem tê-los mutável para que o material seja cuidado para você nos bastidores. De outro lado, se você sabe que você só estará criando os itens uma vez mas nunca re-encomendar, retirar ou acrescentar que os outros então usam os não-mutáveis. Para mim é uma matéria de caso de uso em vez de realização. 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.
Os jogos não correrão mais rápido em mais novos dispositivos. o cocos2d's CCDirector assegura-se disto. Você melhora framerates naturalmente mas não mais rápido gameplay. Isto mantém-se ser verdade para todos os motores de jogo modernos. You do get better framerates of course but not faster gameplay. That holds true for all modern game engines.
Oi gaminghorror. Obrigado por toda a grande informação no seu blog
que Realmente encontra isto útil.
Eu quis perguntar sobre o seu código de contexto de paralaxe em cima – estou usando isto em um projeto de experiência, mas não posso parecer conseguir que as telhas se ajustem perfeitamente ao lado de eachother. Em outras palavras, o meu duende que estou cobrindo com telhas (que é 480, 320 no tamanho) está cobrindo com telhas, mas quando o novo duende começa, há uma fenda preta aproximadamente 25 pixéis largos entre o novo e o velho. Lá algum caminho é a elliminate esta fenda? Tentei procurar os fóruns cocos2d etc., e encontrei a informação na 2a projeção que apaga etc. … mas nada disso ajudou-me por enquanto … a tentar e ilustrar o que estou adquirindo, isto é o que adquiro o enrolamento através da tela de dispositivo (x’s são o duende o espaço branco é a fenda preta que adquiro): 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):
xxxxxxxxxxxxxxx | |xxxxxxxxxxxxxxxx | |xxxxxxxxxxxxxxxxxx | |xxxxxxx
Isto parece ser uma compensação de colocação, você está seguro que os duendes são exatamente 480 pixéis à parte cada um? Ambos também têm de ter o mesmo anchorPoint. E se você modifica a escala dos duendes, a compensação também tem de ser ajustada apropriadamente. And if you change the scale of the sprites, the offset also needs to be adjusted appropriately.
Você poderia querer testar a colocação com mais pequenos duendes para que pelo menos dois deles se ajustem inteiramente na tela.
Oi GamingHorror, muito obrigado pela resposta
Tão esta manhã eu despertei-me e tinha uma mente limpa – pensou nele para o tempo - O meu duende do contexto é exatamente 480×320 – isto é screensize. A fenda eu via a espécie de 20-30 pixéis olhados em torno entre cada duende repetido. Portanto pensei, eh, em 480, somente dão-me uma textura que é 512 no direito de tamanho? Assim talvez a sua realização de um cheio 512pixel textura. Portanto voltei para fotofazer compras, e aumentei a minha largura de duende a 512 (como eu wouldnt perdem qualquer realização de qualquer maneira) e deu a isto uma tentativa, usando o seu código: 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:
CCSprite *background = [CCSprite spriteWithFile: "tile1.png"
rect:CGRectMake (0,0, 480*50, 320)];
[mesmo addChild:background];
[contexto setPosition:ccp (winSize.width/2, winSize.height/2)];
ccTexParams params = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
[background.texture setTexParameters: ¶ms];
e isto classificou-o! Não mais fendas. Muito obrigado pelos ponteiros também – eu não tinha pensado em anchorPoints! Obrigado mais uma vez pelo grande blog. Sou assinado! Thanks so much for the pointers too – I hadn’t thought about anchorPoints! Thanks again for the great blog. I am subscribed!
Ai sim, se você estiver usando GL_REPEAT então o tamanho de imagem deve ser um poder de dois. Eg 64×64 ou 512×128
Impressionante – que limpa coisas para mim e faz o sentido perfeito agora. Obrigado por confirmação. O meu enrolamento de paralaxe em camadas está parecendo doce agora! My layered parallax scrolling is looking sweet now!
Assim outra pergunta rápida … adivinho que não será possível usar um spritesheet com GL_REPEAT? Especialmente o caminho você tem de criar um CGRect …
Atualmente faço outra gráfica de spritesheets como isto:
CCSprite *projectile = [CCSprite spriteWithSpriteFrameName: "missile.png"];
Que são carregados do meu.plist / spritesheet. Não possível de destinar o contexto GL_REPEAT como isto?
Desde que GL_REPEAT é um parâmetro de textura, aplica à textura inteira, portanto você precisará de usar uma textura de imagem única, e o tamanho deve ser um poder de 2, eg 128×16 ou 256×256.
Isto também exclui o uso de spritesheet.
Usando esta técnica ele trabalha bem no simulador, mas no dispositivo a textura é super-blocky e pixellated. Estou dirigindo este teste em cocos2d 0.99.5.
Ive tentou tanto com 256×256 como com 512×512 texturas, e o resultado é o mesmo. O simulador repete-se perfeitamente, esticamentos de dispositivo e pixellates a textura horrivelmente.
Você tem alguma idéia porque isto acontece?
Hmmm, não realmente. Estou adivinhando que poderia estar relacionado à exposição de Retina, você testa em um dispositivo de retina?