 | | |
| Criando Tabuleiro com Mappy |
|
|
Olá Galera, estou desenvolvendo um xadrez e estou usando a ferramenta Mappy (consegui fazer e rodar no XNA, só que falta saber como colocar as peças em cima, saber ql delas foi clicado e fazer o movimento), eu sei que é muito, mas se alguem souber (ou dar uma direção) de como posso fazer isso pelo que foi gerado do Mappy [por exemplo, como colocar peça na posição certa e saber que ela foi clicada e no canto que ela poder ir também foi clicado] ou saber usar outra ferramenta para esse mesmo proposito, (Faz um mês que iniciei o estudo e por isso as perguntas um pouco básicas, ainda não sei como capturar o mouse para saber que foi clicado na peça, qndo for clicado no tabuleiro, etc.) agradeço desde já quem puder ajudar.
Abraço |
|
|
|  |  | | |
| Re: Criando Tabuleiro com Mappy |
|
|
titaojunior escreveu
Olá Galera, estou desenvolvendo um xadrez e estou usando a ferramenta Mappy (consegui fazer e rodar no XNA, só que falta saber como colocar as peças em cima, saber ql delas foi clicado e fazer o movimento), eu sei que é muito, mas se alguem souber (ou dar uma direção) de como posso fazer isso pelo que foi gerado do Mappy [por exemplo, como colocar peça na posição certa e saber que ela foi clicada e no canto que ela poder ir também foi clicado] ou saber usar outra ferramenta para esse mesmo proposito, (Faz um mês que iniciei o estudo e por isso as perguntas um pouco básicas, ainda não sei como capturar o mouse para saber que foi clicado na peça, qndo for clicado no tabuleiro, etc.) agradeço desde já quem puder ajudar.
Abraço |
oi titaojunior blz?
Seguinte,
A idéia é guardar todas os retangulos do seu tabuleiro e depois varrer essa coleção de retangulos verificando em qual retangulo o player clicou.
Desta forma:
Suponha que o seu tile seja retangular e tenha altura e largura igual a 10. Então, imagine que você vai ter um tabuleiro com 2 linhas e 3 colunas.
Então, eu vou fazer um exemplo definindo as casinhas do tabuleiro(matriz bidimensional contendo retângulos):
List<Rectangle> casinhas = new List<Rectangle>();
//Retangulos da minha 1º linha
casinhas.Add( new Rectangle(0, 0, 10, 10) );
casinhas.Add( new Rectangle(10, 0, 10, 10) );
casinhas.Add( new Rectangle(20, 0, 10, 10) );
//Retangulos da minha 2º linha
casinhas.Add( new Rectangle(0, 10, 10, 10) );
casinhas.Add( new Rectangle(10, 10, 10, 10) );
casinhas.Add( new Rectangle(20, 10, 10, 10) );
Tendo em mãos todas as casinhas do tabuleiro, você vai pegar a coordenada (x,y) do Mouse e depois percorrer a sua Lista de Retangulos verificando se a coordenada do Mouse está contida em algum dos retangulos:
Vector2 mousePos = new Vector2(Mouse.GetState().X, Mouse.GetState().Y);
foreach(Rectangle casa in casinhas)
{
if(casa.Contains(mousePos.X, mousePos.Y))
{
//A sua peça em questão deve estar na posição casa.X e casa.Y
}
}
Espero que isso que eu mostrei acima tenha ao menos dado uma luz, se ainda nao foi suficiente para te ajudar, por favor, fique a vontade para postar novamente!
abraços @lucianoJoseBr
My Blog: http://lucjose.wordpress.com |
|
|
|
|  |