[Resolvido]Duvidas sobre mouse e sprites

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]Duvidas sobre mouse e sprites

Mensagem por mrHarris em Qua 09 Fev 2011, 16:55

Bem pessoal... estou trabalhando em um maker, e já tenho quase tudo pronto, mas preciso de algumas coisas ainda.

Eu criei um objeto, que quando clicado, cria um objeto em uma determinada cordenada na room. Coloquei o seguinte codigo para fazer seu movimento.
Código:
if mouse_check_button(mb_left) {
x = mouse_x;
y = mouse_y;
}
Mas quando clico em um espaço vazio da room, o objeto vai até lá com em um jogo de rpg. Queria que ele só se movimentasse quando for arrastado pelo mouse.

Queria saber tambem como fazer para a pessoa escolher o sprite do computador. Já perguntei isso em outro topico, mas o codigo que o cara passou nao funcionou, acho que é porque tinha que apagar o sprite anterior, mas nao sei como fazer.

Já pesquisei aqui no forum, mas nao encontrei nada.


Última edição por Henrique Berto em Qui 10 Fev 2011, 00:14, editado 1 vez(es)

mrHarris

Número de Mensagens : 263
Idade : 19
Data de inscrição : 22/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvidas sobre mouse e sprites

Mensagem por JV Justino em Qua 09 Fev 2011, 18:03

Faz assim:
No create e no step coloque:
Código:
mx=x-mouse_x
my=y-mouse_y
mx e my serão como mouse_x e mouse_y

no evento Left Button coloque:
Código:
x=mx+mouse_x
y=my+mouse_y
Acho que dará certo

JV Justino

Ranking : Nota A
Número de Mensagens : 619
Idade : 19
Data de inscrição : 07/12/2010
Notas recebidas : A+A
Reputação : 20
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvidas sobre mouse e sprites

Mensagem por mrHarris em Qua 09 Fev 2011, 18:36

Ei cara, deu certo, vlw.
Só tem um probleminha: quando movimento um bloco, o outro movimenta junto. Sabe como fazer pra mover um de cada vez?

mrHarris

Número de Mensagens : 263
Idade : 19
Data de inscrição : 22/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvidas sobre mouse e sprites

Mensagem por JV Justino em Qua 09 Fev 2011, 19:01

Mas isso está acontecendo mesmo com o outro objeto distante?
Ah, e em qual objeto você está usando os códigos?

JV Justino

Ranking : Nota A
Número de Mensagens : 619
Idade : 19
Data de inscrição : 07/12/2010
Notas recebidas : A+A
Reputação : 20
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvidas sobre mouse e sprites

Mensagem por mrHarris em Qua 09 Fev 2011, 23:23

Estou usando o código em dois objetos: no player e no bloco.
E sim, quando arrasto um deles, outro que está distante se movimenta tambem

mrHarris

Número de Mensagens : 263
Idade : 19
Data de inscrição : 22/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvidas sobre mouse e sprites

Mensagem por Carlos L. em Qui 10 Fev 2011, 10:13

Se eu entendi bem faça o seguinte, no create coloque o seguinte código.
Código:
_sel = false; //Variável que irá verificar se o objeto foi selecionado.
_mx = mouse_x;
_my = mouse_y;
No Step.
Código:
if (mouse_check_button(mb_left) && _sel = true)
{
    _sel = false;
    x = _mx+mouse_x;
    y = _my+mouse_y;

E no evento Mouse Enter.
Código:
_sel = true;

Pronto ta feito. Very Happy

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvidas sobre mouse e sprites

Mensagem por saim em Qui 10 Fev 2011, 11:59

O problema de usar mouse_enter é que, num objeto que se locomove, ele pode nunca retornar vedadeiro, a menos que O MOUSE tenha se mexido. Daí, por exemplo, deixar o mouse quieto, esperando o objeto cair no lugar e clicar, resultaria em nada. Pra mim, mouse_enter se restringe a animar botões estáticos. Pode ser mais interessante usar uma solução que não precise desse evento.

Pra usar no step event do objeto a ser movido:
Código:
if instance_position(mouse_x,mouse_y,id){ //se o bicho tá na mira
 if mouse_check_button(mb_left){        //se o gatilho tá apertado
  x=mouse_x
  y=mouse_y
 }
}

Esse código puxa a origem do sprite pra posição do mouse. Dá pra alterar ele de modo que o sprite simplesmente acompanhe o mouse, sem dar um salto pra encaixar a origem, com mais uma ou duas variáveis:

create
Código:
//cria variáveis pra funcionar como mouse_xprevious e mouse_yprevious, que não sei porque não são built-ins
mxprev=mouse_x
myprev=mouse_y
step
Código:
if instance_position(mouse_x,mouse_y,id){ //se o bicho tá na mira
 if mouse_check_button(mb_left){        //se o gatilho tá apertado
  x+=mouse_x-mxprev
  y+=mouse_y-myprev
 }
}

//agora, atualiza onde está o mouse pra ser a "posição anterior" no próximo step
mxprev=mouse_x
myprev=mouse_y

Talvez seja mais rápido (em termos de processamento) declarar as mxprev/myprev como globais e usar só um objeto pra mantê-las atualizadas. Não sei quantos objetos arrastáveis você tem, então não fiz desse jeito, mas não é complicado alterar.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Duvidas sobre mouse e sprites

Mensagem por Conteúdo patrocinado Hoje à(s) 03:51


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum