Bem, sou novo no fórum e já fiz alguns tópicos sobre algumas dúvidas que tive. Felizmente, todas elas foram resolvidas e fico muito feliz com isso. Estou desenvolvendo um pequeno e bem simples jogo como trabalho de escola, e estou estudando a interface fora da escola.
Estou quase terminando o jogo, preciso ajeitar apenas algumas coisas. Estou com dúvida agora, por exemplo, na criação do personagem. Consegui um código usando RadioButton etc, e está tudo perfeito, apenas quero fazer uma “modificação” na parte de escolher os personagens. No código atual, ao escolher o personagem e clicar “Selecionar este personagem”, aparecerá uma JOptionPane perguntando se o usuário quer criar o Jogador 1 ou o Jogador 2.
Esta JOptionPane recebe a variavel op, se o usuário digitar 1 na tela será criado um novo Jogador 1, e se digitar 2 será criado um Jogador 2. Algo bem simples mesmo, de fácil entendimento.
[quote]Apenas uma parte do código ilustrando o que acabei de dizer:
ok = botão [Selecionar este personagem].
arqueiroButton = representa um dos personagens no RadioButton.
[/quote]
[code]
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (arqueiroButton.isSelected()) {
String resposta = JOptionPane.showInputDialog("Escolher esse personagem para Player 1 ou Player 2?", op);
op = Integer.parseInt(resposta);
if (op == 1) {
p1 = new Arqueiro();
player = "Player 1";
} else {
p2 = new Arqueiro();
player = "Player 2";
}
JOptionPane.showMessageDialog(null, String.format("%s", "Você escolheu o " + arqueiroString + " como " + player));
}[/code]
Ok, e aqui entra a minha dúvida. Como estou estudando interface grafico, quero que meu jogo tenha o máximo de interação “sem esforço” do usuário. Queria substituir esse JOptionPane por um novo JFrame, que contém 2 botões: Player 1 e Player 2. Se o usuário clicar em Player 1, a variavel op será 1, se clicar em Player 2, op = 2, mesma coisa.
A imagem representa bem o que eu desejo fazer. Eu até cheguei a criar uma nova classe (chamada Option) contendo esse JFrame dos botões Player 1 e Player 2, só que eu não consigo/não sei como devo fazer para passar a variavel int op criada na classe CharCreate para a classe Option e fazer que logo após que o usuário clique em um dos dois botões o código volte para a classe CharCreate com a variavel op definida nos botões.
Eu tentei chamar a classe Option na hora da escolha, mas começa a dar uns erros sobre a variavel op. Então, não sei o que fazer, =|
[code]
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (arqueiroButton.isSelected()) {
new Option(op);
if (op == 1) {
p1 = new Arqueiro();
player = "Player 1";
} else {
p2 = new Arqueiro();
player = "Player 2";
}
JOptionPane.showMessageDialog(null, String.format("%s", "Você escolheu o " + arqueiroString + " como " + player));
}[/code]
Fiz este tópico bem organizado, realmente para facilitar o entendimento da minha dúvida!
Se puderem me ajudar, facilitará muito!
Obrigado desde já!
[size=9]Para não poluir a tela com os códigos, aqui está o Pastebin das classes CharCreate e Option:
- CharCreate: http://pastebin.com/c4JpfkcK
- Option: http://pastebin.com/ujbAPQsi[/size]