Fórum Sharpgames
 
 
  Forum  Criação de Jogo...  Gráficos 2D/3D  Movimentar texture2D com auxilio do mouse
Anterior Anterior
 
Próximo Próximo
Nova Entrada 20/7/2010 22:57
  Wiliam Trindade
1 tópicos
Sem Ranking


Movimentar texture2D com auxilio do mouse 
Boa noite amigos sou novo aqui no forum e no xna tambem então gostaria de começar meus estudos com games em 2d comprei o livro em portugues de XNA que é divulgado aqui no site( ACONSELHO SUA COMPRA O LIVRO É MUITO BOM) porem gostaria de fazer algo diferente.

No meu game gostaria de clicar com o mouse em um determinado local da tela e nesse local aparecer uma imagem (alvo) e fazendo isso a imagem(personagem) ira se movimentar sozinha ate o alvo.

Alguem pode me ajudar?

PS: Espero ter conseguido explicar direito oque quero.
 
Nova Entrada 6/8/2010 13:09
  L3O
4 tópicos
Sem Ranking




Re: Movimentar texture2D com auxilio do mouse 
Fala William !!

Então, se eu entendi bem, voc^quer fazer algo no estilo dos jogos RTS certo ?

No método update:
Primeiramente você deve criar um objeto para capturar o estado do mouse:
MouseState mouse = Mouse.getState();

Em seguida, deve verificar se o botão esquerdo ou direito(o que você for usar) foi pressionado:
if(mouse.LeftButton == ButtonState.Pressed)
{
        posicaoParaMover.X = mouse.X;
        posicaoParaMover.Y = mouse.Y;
}


Após capturar as coordenadas de onde o mouse está, basta incrementar as coordenadas do seu objeto, de modo que ele "caminhe" até o ponto desejado.

Espero que isso ajude.
Abraço
 
Nova Entrada 6/8/2010 16:21
  SylvioT
33 tópicos
8th Level Poster


Re: Movimentar texture2D com auxilio do mouse 
Só complementando o que o L3O disse.

Você irá pega a coordenada do mouse:

poiscaoParaMover.X = mouse.X;
posicaoParaMover.Y = mouse.Y;
           
           Y
          /\
           |
 M  <-- P --> X
           |
          \/
P: Personagem.
M: Posição onde ocorreu o clique.

Eixo X
Se o M.x - P.x resultar negativo ele andará para 'ESQUERDA'.
Se o M.x - P.x resultar positivo ele andará para 'DIREITA'.

Eixo Y
Se o M.y - P.y resultar negativo ele andará para 'CIMA'.
Se o M.y - P.y resultar positivo ele andará para 'BAIXO'.

Com isso é só você fazer uma variável para recebe a diferença e depois fazer um Metódo e coloca no Update(); que a cada 'TEMPO' ele ande de acordo com a velocidade do seu personagem.

Tentei ajuda se eu estive errado ignore essa tentativa de resposta.

Abraços. (:


 
Nova Entrada 6/8/2010 17:05
  L3O
4 tópicos
Sem Ranking




Re: Movimentar texture2D com auxilio do mouse 
É isso ai SylvioT !!

essa é apenas uma parte da rotina que deve ser implementada para movimentar a sprite.

Abraço
 
Anterior Anterior
 
Próximo Próximo
  Forum  Criação de Jogo...  Gráficos 2D/3D  Movimentar texture2D com auxilio do mouse
Logos do XBox 360, XNA e Games For Windows
Copyright 2006-2012 por SharpgamesPolítica de Privacidade  |  Termos de Uso