| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 21:17:47
|
GustavoBorba
JavaChild
Membro desde: 23/11/2009 19:23:23
Mensagens: 110
Offline
|
Olá, comunidade do GUJ.
Estou enfrentando um problema. Eu estou tentando criar uma grade. Uma simples grade, onde um jogo se basearia, em que o personagem pudesse se movimentar em cada quadrado da grade. a parte do movimento eu sei fazer. Mas o meu problema realmente é a grade. Pensei em usar GridLayout, mas isso iria sobrecarregar o aplicativo com tantos paineis ou botões para cada quadrado (pois estou pensando em uma grade 100x100). Pensei em uma tabela mas isso seria estranho e logo desisti da ideia. Ao meu ver a melhor opção seria desenhar linhas com um objeto Graphics, mas isso seria um pouco trabalhoso e não sei como recuperar a posição do jogador, porém não prejudicaria meu desempenho. Gostaria de saber se alguém poderia me confirmar se eu devo usar o modo de desenhar linhas com o objeto Graphics. E, se há alguma maneira mais fácil do que as que comentei aqui sobre como desenhar uma grade 2D em java.
Grato desde já, Gustavo Borba.
This message was edited 2 times. Last update was at 12/01/2011 16:26:38
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 21:27:00
|
Daniels
JavaGuru
Membro desde: 25/07/2008 14:19:39
Mensagens: 218
Offline
|
GustavoBorba wrote: Pensei em uma tabela mas isso seria estranho e logo desisti da ideia
Podes usar JTable tranquilamente. Fiz um jogo de ludo no terceiro semestre da faculdade usando JTable e não tive problemas. O que terias que ver era a complexidade e tal, porque são várias classes para se manipular, não é só a JTable em si.
Se não se importares de ver um código da minha época de iniciante, eu posto o jogo aqui
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2011 22:45:55
|
GustavoBorba
JavaChild
Membro desde: 23/11/2009 19:23:23
Mensagens: 110
Offline
|
Opa, cara! Seria ótimo se você postasse o código aqui ou me passase por mensagem privado, como tu achares melhor. Se possível, passe somente a parte em que você cria a grade. É possível saber em que célula o usuário clicou?
This message was edited 1 time. Last update was at 11/01/2011 23:12:34
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 00:20:35
|
HumbertoJr
JavaBaby
Membro desde: 17/01/2004 20:15:38
Mensagens: 77
Offline
|
Daniels wrote:
GustavoBorba wrote: Pensei em uma tabela mas isso seria estranho e logo desisti da ideia
Podes usar JTable tranquilamente. Fiz um jogo de ludo no terceiro semestre da faculdade usando JTable e não tive problemas. O que terias que ver era a complexidade e tal, porque são várias classes para se manipular, não é só a JTable em si.
Se não se importares de ver um código da minha época de iniciante, eu posto o jogo aqui
Por favor disponibilize sim o código.
Até eu fiquei curioso , vai servir pra quem tiver iniciando e puder usar tua solução em outros problemas...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 06:48:22
|
Daniels
JavaGuru
Membro desde: 25/07/2008 14:19:39
Mensagens: 218
Offline
|
Segue o jogo em anexo
| Nome do arquivo |
JLudo.rar |
Download
|
| Descrição |
|
| Tamanho |
101 Kbytes
|
| Baixado: |
48 vez(es) |
This message was edited 2 times. Last update was at 12/01/2011 06:50:53
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 14:15:45
|
GustavoBorba
JavaChild
Membro desde: 23/11/2009 19:23:23
Mensagens: 110
Offline
|
Não sei se isso ajuda, mas eu criei minha própria versão, se alguém quiser. É uma classe bem simples, coloquei até os imports:
Eu estou instanciando essa classe no meu JFrame assim (lembrando que esta minha classe é uma subclasse de um JFrame):
Só tenho um problema, eu queria que uma matriz bidimensional de booleanos se referissem as posições na grade. como por exemplo grade[0][0] = true; significa que ela está ocupada, e por isso no método paintComponent, a célula 0, 0 fosse pintada de branco. em como fazer isso?
This message was edited 1 time. Last update was at 12/01/2011 16:29:32
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 16:34:00
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Duas coisas.
1° - Não desenhe nesse Graphics diretamente, crie uma copia.
2° - Sempre chame super.paintComponent, ele é responsavel por limpar a area e ainda pintar a borda e essas coisas.
Seu código seria o seguinte:
|
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! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 16:46:54
|
GustavoBorba
JavaChild
Membro desde: 23/11/2009 19:23:23
Mensagens: 110
Offline
|
Opa, valeu Marky!
Mas, você tem alguma ideia de como eu poderia relacionar uma matriz de booleanos que armazena a condição da célula (se ela está ocupado ou não) com essa grade feita com o objeto Graphics2D?
Grato desde já, Gustavo Borba.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2011 16:58:37
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Um pouco de lógica, uma matriz booleana tem o mesmo formato que sua grade, basta pensar um pouco.
|
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! |
|
|
 |
|
|