- Data de inscrição : 22/12/2009
Número de Mensagens : 263
Insígnias de JAM :x 0
x 0
x 0
Reputação : 4
Prêmios:
:
:
[Resolvido]Duvidas sobre mouse e sprites
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.
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.
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;
}
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.
- Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Número de Mensagens : 619
Insígnias de JAM :x 0
x 0
x 0
Reputação : 20
Prêmios: 0
: 0
: 0
Re: [Resolvido]Duvidas sobre mouse e sprites
em Qua 09 Fev 2011, 18:03
Faz assim:
No create e no step coloque:
no evento Left Button coloque:
No create e no step coloque:
- Código:
mx=x-mouse_x
my=y-mouse_y
no evento Left Button coloque:
- Código:
x=mx+mouse_x
y=my+mouse_y
- Data de inscrição : 22/12/2009
Número de Mensagens : 263
Insígnias de JAM :x 0
x 0
x 0
Reputação : 4
Prêmios:
:
:
Re: [Resolvido]Duvidas sobre mouse e sprites
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?
Só tem um probleminha: quando movimento um bloco, o outro movimenta junto. Sabe como fazer pra mover um de cada vez?
- Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Número de Mensagens : 619
Insígnias de JAM :x 0
x 0
x 0
Reputação : 20
Prêmios: 0
: 0
: 0
Re: [Resolvido]Duvidas sobre mouse e sprites
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?
Ah, e em qual objeto você está usando os códigos?
- Data de inscrição : 22/12/2009
Número de Mensagens : 263
Insígnias de JAM :x 0
x 0
x 0
Reputação : 4
Prêmios:
:
:
Re: [Resolvido]Duvidas sobre mouse e sprites
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
E sim, quando arrasto um deles, outro que está distante se movimenta tambem
- Ranking :
Notas recebidas : C
Data de inscrição : 26/09/2010
Número de Mensagens : 270
Insígnias de JAM :x 0
x 0
x 0
Reputação : 8
Prêmios: 0
: 0
: 0
Re: [Resolvido]Duvidas sobre mouse e sprites
em Qui 10 Fev 2011, 10:13
Se eu entendi bem faça o seguinte, no create coloque o seguinte código.
Pronto ta feito.
- Código:
_sel = false; //Variável que irá verificar se o objeto foi selecionado.
_mx = mouse_x;
_my = mouse_y;
- Código:
if (mouse_check_button(mb_left) && _sel = true)
{
_sel = false;
x = _mx+mouse_x;
y = _my+mouse_y;
}
- Código:
_sel = true;
Pronto ta feito.

- Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :x 0
x 0
x 0
Reputação : 121
Prêmios: 1
: 0
: 3
Re: [Resolvido]Duvidas sobre mouse e sprites
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:
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
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.
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
- 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.
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum