Background se movendo em Android  XML
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Autor Mensagem
Will_HRock
JavaGuru

Membro desde: 11/04/2009 20:40:23
Mensagens: 211
Offline

Boa noite pessoal!

Estou programando um aplicativo pra android e gostaria muito que as nuvens no background ficassem o tempo todo se movendo. Atualmente faço isso através de uma Animation, que executa a translação no eixo X e não acaba nunca (setRepeatCount(-1)).

Porém quando executo o aplicativo no emulador do eclipse parece meio pesado, e quando executo outros movimentos com o caracter principal do jogo parece que a animação diminui a velocidade quando clico nas teclas para movimentar o personagem.

Gostaria de saber se estou fazendo isso de uma forma legal ou teria algo mais "leve".

Agradeço desde já!!

This message was edited 1 time. Last update was at 25/10/2011 17:07:24

[Email] [MSN]
Will_HRock
JavaGuru

Membro desde: 11/04/2009 20:40:23
Mensagens: 211
Offline

Ninguém?
[Email] [MSN]
eliangela
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2006 01:31:49
Mensagens: 724
Localização: Campo Mourão
Offline

Olá!

Não domino muito o assunto de desenvolvimento de jogos pra Android ainda, mas quero te fazer uma pergunta:
Essas nuvens se movimentando estão numa Thread separada?

Não respondo perguntas por MP.
http://www.eliangela.info
[WWW] [Yahoo!] [MSN]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

A forma mais leve seria fazer a animação desenhando na tela invés de usar a Animation.

Por que para cada iteração da animação ele vai solicitar para sua tela recalcular todos os bounds novamente.

PS: Só descarte a possibilidade de usar essa solução quando testar em um device real, o emulador é MUITO lento, sinceramente, não conte com ele para nada.

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
Will_HRock
JavaGuru

Membro desde: 11/04/2009 20:40:23
Mensagens: 211
Offline

Opa valeu as dicas pessoal : )

É talvez seja melhor desenhar tudo numa View mesmo. É bom saber também que não posso contar com a performance percebida utilizando o emulador hehe.

Respondendo a pergunta, acredito que seria algo que aconteceria em paralelo com outros eventos na tela, estar ou não na mesma thread que desenha o resto do cenário acredito ser questão de escolha, e pelo que o Marky disse pode ser melhor fazer o drawing junto do resto. Achei na net coisas sobre SufaceView, pode ser que ajude!
[Email] [MSN]
andreban
JavaTeenager

Membro desde: 11/07/2006 10:41:57
Mensagens: 188
Localização: Rio de Janeiro
Offline

Will, o indicado para jogos realmente é o SurfaceView. Você vai ter mais performance e pode usar double buffering. Outra coisa é que, para desenvolvimento de jogos, o emulador é bem ruim. Recomendo usar o celular como plataforma de testes.

Acho que o efeito que vc quer de nuvens se chama parallax scrolling.

Algumas idéias:

1 - Se vc usar OpenGL vai ter mais performance (mesmo se forem gráficos 2D).
2 - Você pode usar uma engine de jogos já pronta. A que anda mais famosa no Android para jogos 2D é a AndEngine (http://www.andengine.org/)
3 - Eu recomendaria vc ler alguns livros de programação de jogos. Nesse post tem 2 que gosto muito: http://www.codemansion.com/2011/10/books-on-java-game-programming.html

Se quiser dicas, pode mandar DM.


--== http://www.codemansion.com/ ==-- Blog de Desenvolvimento Android e Games

-== http://mobplug.com/ ==-- Simple products, powerful solutions!
SCJA | SJCP | SCJD | SCWCD
 
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Ir para:   
Powered by JForum 2.1.8 © JForum Team