Fórum Sharpgames
 
 
  Forum  Criação de Jogo...  Algoritmos  Como capturar esse evento?
Anterior Anterior
 
Próximo Próximo
Nova Entrada 14/6/2008 14:58
  felipess
30 tópicos
8th Level Poster


Re: Como capturar esse evento? 
Luciano entendi a idéia só para complementar... (desculpa minha falta de habilidade.. )

1º  Você falou para percorrer o array no método update, então dentro dos laços para percorrer o array eu coloco essa condição que você citou? seria isso?

2º  Esse rectangle delimitador você está usando nessa condição considerando que eu já tenha instanciado ele em cada imagem com o tamanho da imagem em si.. ou não seria preciso instanciar ele já criaria considerando o tamanho da imagem?

3º  Não entendo o porque de usar o delegate? outra coisa o delegate pelo pouco que li.. é como se fosse uma interface de classe sendo que para métodos?

4º  Como estou tentando fazer um código sem muito acoplamento, acredito que a não ficaria legal mandar o objeto que foi clicado para a classe Game e sim chamar o método que fará a mudança nesse objeto quando ele for clicado, entao esssa condição que você colocou poderia ficar assim:

if (tela[i, j]).Rectangle.Contains(Mouse.GetState().X, Mouse.GetState().Y) == true)
            {
             tela[i,j].MudarTextura();
            }

?? nesse caso não seria preciso ngm assinar esse evento ne isso? 

vlw Luciano... mt obg mesmoo!!!


[]´s Felipe Sampaio
 
Nova Entrada 14/6/2008 19:56
  lucianoJose
125 tópicos
Iniciante


Re: Como capturar esse evento? 
 felipess escreveu
Luciano entendi a idéia só para complementar... (desculpa minha falta de habilidade.. )

1º  Você falou para percorrer o array no método update, então dentro dos laços para percorrer o array eu coloco essa condição que você citou? seria isso?

2º  Esse rectangle delimitador você está usando nessa condição considerando que eu já tenha instanciado ele em cada imagem com o tamanho da imagem em si.. ou não seria preciso instanciar ele já criaria considerando o tamanho da imagem?

3º  Não entendo o porque de usar o delegate? outra coisa o delegate pelo pouco que li.. é como se fosse uma interface de classe sendo que para métodos?

4º  Como estou tentando fazer um código sem muito acoplamento, acredito que a não ficaria legal mandar o objeto que foi clicado para a classe Game e sim chamar o método que fará a mudança nesse objeto quando ele for clicado, entao esssa condição que você colocou poderia ficar assim:

if (tela[i, j]).Rectangle.Contains(Mouse.GetState().X, Mouse.GetState().Y) == true)
            {
             tela[i,j].MudarTextura();
            }

?? nesse caso não seria preciso ngm assinar esse evento ne isso? 

vlw Luciano... mt obg mesmoo!!!



1º pergunta:
 
Sim, poderia fazer assim também.
 
2º pergunta:
 
Instancia os retângulos previamente, e depois que a imagem for instanciada, você atribui os valores para que o retângulo envolva a imagem.
 
Para efeito de ganho de desempenho, se todas as imagens do array bidimensional tiverem sempre o mesmo tamanho, nem precisa ter 1 retangulo relacionado para cada imagem interna ao tabuleiro. Só basta guardar a posição de cada imagem e ter apenas 1 retangulo instanciado.
 
3º pergunta:
 
Pode ser encarado assim também. Delegate tb tem aquela idéia de ponteiro para métodos...
 
4º pergunta:
Se você quer apenas mudar a imagem quando for clicada, você nem precisa fazer manipulações com eventos. Basta criar um simples método para fazer isso tal como você fez nesse seu 4º ponto.
 
Entretanto, se você quer receber notificações fora do tabuleiro, informando se houve troca de imagem de algum determinado elemento de seu tabuleiro, talvez, nesse caso seja  interessante utilizar eventos.

MCP, MCTS. Administrador do SharpGames. Game Developer(C++) at Manifesto Game Studio Meu Blog: lucianojosefj.spaces.live.com
 
Nova Entrada 17/6/2008 1:49
  felipess
30 tópicos
8th Level Poster


Re: Como capturar esse evento? 
vlw Luciano,

enfim consegui fazer... não utilizei event realmente no momento não precisa.

Abraço.

[]´s Felipe Sampaio
 
Anterior Anterior
 
Próximo Próximo
  Forum  Criação de Jogo...  Algoritmos  Como capturar esse evento?
AdSense

Amazon

Logos do XBox 360, XNA e Games For Windows
Copyright 2008 por SharpgamesPolítica de Privacidade  |  Termos de Uso