GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Colisões não funcionando
por RastaMaan Ontem à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Ontem à(s) 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21


Sprite virar conforme a posição do mouse

5 participantes

Ir para baixo

Sprite virar conforme a posição do mouse Empty Sprite virar conforme a posição do mouse

Mensagem por VitorClc Dom 31 Ago 2014, 16:38

eae pessoal, estou fazendo um jogo com uma jogabilidade um pouco diferente e queria saber como fazer o player mudar de sprite conforme a posição do mouse

EX: Se o mouse estiver acima do jogador ele vira pra cima, se estiver a esquerda dele, ele vira com uma sprite diferente.

Lembrando q eu quero saber como posso fazer isso com varias sprites, não com apenas uma igual aos games top down
VitorClc
VitorClc

Data de inscrição : 21/07/2012
Reputação : 0
Número de Mensagens : 10
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por matheusco Dom 31 Ago 2014, 19:36

É só usar a função sprite_index e fazer ela ser igualada a outro sprite (da pasta de sprites) de acordo com as condições.

Por exemplo:

if mouse_y < y
{
sprite_index = spr_olhandopracima
}
if mouse_y > y
{
sprite_index = spr_olhandoprabaixo
}

Quiser ver mais exemplos, dá uma olhada no meu tutorial: http://www.tutoriaisgamemaker.com.br/2014/08/como-mudar-sprite.html

Não sei se você já tá familizariado como funcionam os eventos, as funções e o resto do Game Maker, mas se não estiver, dá uma olhada na página de Tutoriais: Iniciante e na de Funções, vai te ajudar bastante Smile

Qualquer dúvida só perguntar.
matheusco
matheusco

Data de inscrição : 10/08/2014
Reputação : 51
Número de Mensagens : 395
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.tutoriaisgamemaker.com.br

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por Rodrigo Santiago Dom 31 Ago 2014, 20:52

Acho melhor fazer assim :
image_angle=point_direction(x,y,mouse_x,mouse_y);

Assim a sprite vai rotacionar em direção ao mouse.
Coloque isso no evento step, dentro de um bloco de codigo.
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por matheusco Dom 31 Ago 2014, 22:23

Rodrigo Santiago escreveu:Acho melhor fazer assim :
image_angle=point_direction(x,y,mouse_x,mouse_y);

Assim a sprite vai rotacionar em direção ao mouse.
Coloque isso no evento step, dentro de um bloco de codigo.

Mas ele diz que não quer isso.
matheusco
matheusco

Data de inscrição : 10/08/2014
Reputação : 51
Número de Mensagens : 395
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.tutoriaisgamemaker.com.br

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por VitorClc Seg 01 Set 2014, 12:20

Eu fiz isso matheus , mas mesmo assim a movimentação buga
Eu quero fazer ele virar enquanto eu seguro ctrl
VitorClc
VitorClc

Data de inscrição : 21/07/2012
Reputação : 0
Número de Mensagens : 10
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por matheusco Seg 01 Set 2014, 12:25

Então você precisa usar a função keyboard_check(vk_control) junto com a condição da posição do mouse, dá uma olhada na página de Tutoriais: Iniciante que te disse.

Você precisa saber usar operadores, funções interativas e funções executivas (condicionais) pra isso.
matheusco
matheusco

Data de inscrição : 10/08/2014
Reputação : 51
Número de Mensagens : 395
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.tutoriaisgamemaker.com.br

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por VitorClc Seg 01 Set 2014, 12:29

Cara dá uma olhada nesse jogo

PROJECT ZOMBOID

procura algum video e vc vai entender o que eu quero pro ataque
VitorClc
VitorClc

Data de inscrição : 21/07/2012
Reputação : 0
Número de Mensagens : 10
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por matheusco Seg 01 Set 2014, 12:34

Eu já expliquei como faz...

if keyboard_check(vk_control) && mouse_y > y
{
sprite_index = algumacoisa
}

Ele só vai mudar o sprite quando você estiver segurando control. Se quiser que seja só quando acontecer o click então tem que usar mouse_check_button(mb_left). São esses os códigos, só não vou fazer a engina pra você. Tenta fazer como eu disse, dá uma lida no link que te mandei, dai se tiver dúvida eu te ajudo.
matheusco
matheusco

Data de inscrição : 10/08/2014
Reputação : 51
Número de Mensagens : 395
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.tutoriaisgamemaker.com.br

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por Rodrigo Santiago Seg 01 Set 2014, 14:01

Desculpa pela resposta indesejada acima. Mas eu me confundi já que você não tem 'assinatura' eu pensei q a ultima frase era a sua assinatura por isso não li.

:p foi mal
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por Mateus O de Andrade Seg 01 Set 2014, 15:17

Boa tarde VitorClc,
Pelo que pude ver com o jogo que você mostrou de exemplo, acho que o que você quer terá de usar 8 imagens e 8 verificações tipo.

Eu já expliquei como faz...

if keyboard_check(vk_control) && mouse_y > y && mouse_x = 0
{
sprite_index = algumacoisa
}

Não basta checar apenas o mouse_y, tem que checar o x também para saber que direção
ele está voltado

Vou tentar colocar elas aqui mas não tenho como verificar.

mouse_y > y && mouse_x =0 baixo

mouse_y < y && mouse_x =0 cima

mouse_y = 0 && mouse_x > x direita

mouse_y = 0 && mouse_x < x esquerda

mouse_y > y && mouse_x > x diagonal inferior direita

mouse_y > y && mouse_x < x diagonal inferior esquerda

mouse_y < y && mouse_x < x diagonal superior esquerda

mouse_y < y && mouse_x > x diagonal superior direita

Bem acho que é isso, basta verificar cara, se não der certo não tem problema, só desculpe se não ajudei.

Abração e boa sorte com seu projeto.
Mateus O de Andrade
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por Rodrigo Santiago Ter 02 Set 2014, 07:35

Os scripts que eu vi estão sempre com alguns erros lógicos. o seu também Mateus O de Andrade.
Olha aqui esse :
Código:

dir=round(point_direction(x,y,mouse_x,mouse_y)/45)
switch(dir){
 case 0 : sprite_index=spr_angulo0;break;
 case 1 : sprite_index=spr_angulo45;break;
 case 2 : sprite_index=spr_angulo90;break;
 case 3 : sprite_index=spr_angulo135;break;
 case 4 : sprite_index=spr_angulo180;break;
 case 5 : sprite_index=spr_angulo225;break;
 case 6 : sprite_index=spr_angulo270;break;
 case 7 : sprite_index=spr_angulo315;break;
 case 8 : sprite_index=spr_angulo0;break;//Repete angulo 0
}
Talvez ajude
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por matheusco Ter 02 Set 2014, 09:02

Rodrigo Santiago escreveu:Os scripts que eu vi estão sempre com alguns erros lógicos. o seu também Mateus O de Andrade.
Olha aqui esse :
Código:

dir=round(point_direction(x,y,mouse_x,mouse_y)/45)
switch(dir){
 case 0 : sprite_index=spr_angulo0;break;
 case 1 : sprite_index=spr_angulo45;break;
 case 2 : sprite_index=spr_angulo90;break;
 case 3 : sprite_index=spr_angulo135;break;
 case 4 : sprite_index=spr_angulo180;break;
 case 5 : sprite_index=spr_angulo225;break;
 case 6 : sprite_index=spr_angulo270;break;
 case 7 : sprite_index=spr_angulo315;break;
 case 8 : sprite_index=spr_angulo0;break;//Repete angulo 0
}
Talvez ajude

Curti esse código Very Happy

Não tinha tentado fazer movimento em 8 direções depois que aprendi usar o Switch, mas nem consigo imaginar jeito melhor.
matheusco
matheusco

Data de inscrição : 10/08/2014
Reputação : 51
Número de Mensagens : 395
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.tutoriaisgamemaker.com.br

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por Mateus O de Andrade Ter 02 Set 2014, 09:32

Rodrigo Santiago escreveu:Os scripts que eu vi estão sempre com alguns erros lógicos. o seu também Mateus O de Andrade.

É Rodrigo, imaginei que estivesse mesmo....já que eu fiz de cabeça Razz
Não tive tempo de testar o seu mas já pude perceber que só pelo "point_direction" já deve dar certo.

Valeu mesmo cara, acabei aprendendo uma coisa nova!!
Mateus O de Andrade
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por LightSpeedy Ter 02 Set 2014, 12:12

simples!

A Sprite tem de Estar Virada para a Direita!

Vá no Create do Objeto e ponha:

Código:
direction=point_direction(mouse_x,mouse_y)

Agora Vá no Step e escreva:

Código:


image_angle=direction
direction=point_direction(mouse_x,mouse_y)

LightSpeedy
LightSpeedy

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 24/04/2013
Reputação : 40
Número de Mensagens : 354
Prêmios : Sprite virar conforme a posição do mouse Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sprite virar conforme a posição do mouse Empty Re: Sprite virar conforme a posição do mouse

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos