Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Pergunta sobre a origem do sprite
5 participantes
Página 1 de 1
Pergunta sobre a origem do sprite
Tem como eu editar a origin do meu sprite comparando com a de outro? por exemplo, pra testar a origin tenho q ficar clicando em Run The Game, não teria como eu testar a origin sem ter q ficar testando o jogo todo?
Para explicar melhor:
Quero testar a origin do objeto obj_weapon(são varias sprite, cerca de 8 a 10) em relação com o objeto obj_player
Para explicar melhor:
Quero testar a origin do objeto obj_weapon(são varias sprite, cerca de 8 a 10) em relação com o objeto obj_player
bimorx- Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Pergunta sobre a origem do sprite
Não entendi direito, vc quer setar um novo ponto para a origem DURANTE a execução do jogo?
Henrique-HB- Data de inscrição : 23/06/2008
Reputação : 6
Número de Mensagens : 114
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
- Unity
Re: Pergunta sobre a origem do sprite
Henrique-HB escreveu:Não entendi direito, vc quer setar um novo ponto para a origem DURANTE a execução do jogo?
Bem cara, pelo que eu entendi, ele quer ver se ao trocar de arma, elas ficam no msm "eixo", só que quer fazer isso sem rodar o jogo, eu acho que não tem como não, mas sei lá xD
GuiEdu- Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Pergunta sobre a origem do sprite
Quero poder editar, alterar ou ajustar, a origem de uma sprite comparando em outra, por exemplo, no word quando fazemos um quadrado e um circulo, eu posso pegar o circulo e ir movendo esse circulo até o quadrado. sacou? quero ver, em vez de ficar tentando adivinhar quando a origin vai dar certo ou não, ou talvez eu não saiba como fazer origin direito
é mais ou menos isso q o Henrique disse mesmo...
é mais ou menos isso q o Henrique disse mesmo...
bimorx- Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Pergunta sobre a origem do sprite
bimorx escreveu:Quero poder editar, alterar ou ajustar, a origem de uma sprite comparando em outra, por exemplo, no word quando fazemos um quadrado e um circulo, eu posso pegar o circulo e ir movendo esse circulo até o quadrado. sacou? quero ver, em vez de ficar tentando adivinhar quando a origin vai dar certo ou não, ou talvez eu não saiba como fazer origin direito
é mais ou menos isso q o Henrique disse mesmo...
Então, posso estar falando besteira agora, mas a principio vc não pode alterar a origem durante a execução. Porém, vc já tentou escrever o x e y do objeto na tela e ir movendo? Afinal o x,y do objeto na execução é a origem.
Henrique-HB- Data de inscrição : 23/06/2008
Reputação : 6
Número de Mensagens : 114
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
- Unity
Re: Pergunta sobre a origem do sprite
Pô, confundiu tudo na minha cabeça agora, como vcs fazem com as suas origens? fala ae pra eu entender...
bimorx- Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Pergunta sobre a origem do sprite
Origin não tem segredo tecnicamente. Você simplesmente coloca a "cruz" no ponto que o objeto será movimentado, ou seja, seu eixo, fazendo isso com o outro objeto também.
Acho que você não entendeu muito bem, então vamos a um exemplo!
Há um player e uma arma, são objetos distintos. Seu objetivo aqui é fazer com que o cabo da arma fique na mão do player. Para isso, você vai na sprite do player e nela você coloca a "cruz" exatamente na mão dele. Depois, vai no sprite da arma e coloca a cruz exatamente no cabo dela. Depois, como tod a arma você só usa o código:
x = player.x
y = player.y
Nesse caso, a arma ficará exatamente na posição correta.
Acho que você não entendeu muito bem, então vamos a um exemplo!
Há um player e uma arma, são objetos distintos. Seu objetivo aqui é fazer com que o cabo da arma fique na mão do player. Para isso, você vai na sprite do player e nela você coloca a "cruz" exatamente na mão dele. Depois, vai no sprite da arma e coloca a cruz exatamente no cabo dela. Depois, como tod a arma você só usa o código:
x = player.x
y = player.y
Nesse caso, a arma ficará exatamente na posição correta.
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Pergunta sobre a origem do sprite
mas tipo, se eu colocar a origin bem no cabo da arma não vai dar certo pelo seguinte: outras sprites como pular, abaixar, andar, etc... não vai dar cero na colisão com o chão :S mas vlw ae!
bimorx- Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Pergunta sobre a origem do sprite
Tem como eu editar a origin do meu sprite comparando com a de outro? por exemplo, pra testar a origin tenho q ficar clicando em Run The Game, não teria como eu testar a origin sem ter q ficar testando o jogo todo?
Para explicar melhor:
Quero testar a origin do objeto obj_weapon(são varias sprite, cerca de 8 a 10) em relação com o objeto obj_player
Então, posso estar falando besteira agora, mas a principio vc não pode alterar a origem durante a execução.
É possível. No GM há uma função que define o pivô de qualquer sprite a qualquer momento da execução do jogo. Se chama sprite_set_offset(). Pra definir o pivô de um sprite em relação à outro você precisará de "checar" a configuração de pivôs desse último com as funções que retornam: sprite_get_xoffset() e sprite_get_yoffset(). Eu posso ter errado porque de cabeça eu não lembro mas tenho quase certeza de que é assim mesmo que escreve.
Pra saber quais são os pontos de pivô "x" e "y" do sprite "jogador_spr":
- Código:
pontox := sprite_get_xoffset(jogador_spr);
pontoy := sprite_get_yoffset(jogador_spr);
Você também pode buscar o sprite que está sendo usado por um objeto ou instância, por exemplo:
- Código:
pontox := sprite_get_xoffset(objeto.sprite_index);
pontoy := sprite_get_yoffset(instancia.sprite_index);
Pra configurar o ponto de pivo de um sprite, você usa a função que eu mensionei:
- Código:
sprite_set_offset(sprite_a_mudar, pontox, pontoy );
Convidad- Convidado
Re: Pergunta sobre a origem do sprite
Ok, mas ondeu eu coloco essas funções? eu crio um obj_controller para isso?Dai eu posso colocar essas funções nas SETAS do teclado pra ir definindo?
Obrigado!
Obrigado!
bimorx- Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Pergunta sobre a origem do sprite
Acho que entendi oque voce quer. Pra voce poder ver a origem do sprite, sugiro que voce coloque no evento draw dos dito cujos:
Evento DRAW:
Ainda tem como você fazer a alteracao durante o jogo pra ir visualizando.
Coloque no Evento Mouse-> Left Pressed dos objetos:
Evento DRAW:
- Código:
//desenha o sprite
draw_sprite(sprite_index, image_index, x, y);
//Desenha a posicao do offset embaixo do sprite
ox = sprite_get_xoffset(sprite_index);
oy = sprite_get_yoffset(sprite_index);
draw_text(x, y + sprite_height + 12, "Origem x: " + string(ox) + " Origem y:" + string(oy));
Ainda tem como você fazer a alteracao durante o jogo pra ir visualizando.
Coloque no Evento Mouse-> Left Pressed dos objetos:
- Código:
var ox, oy;
keyboard_string = ""
io_clear();
draw_set_color(c_black);
draw_rectangle(0, room_height - 32, room_width, room_height, false);
draw_set_color(c_white);
while (keyboard_lastkey != vk_enter)
{
draw_text(10, room_height-16, "Digite offset x:" + keyboard_string);
io_handle();
screen_refresh();
}
ox = real(keyboard_string);
keyboard_string = ""
io_clear();
draw_set_color(c_black);
draw_rectangle(0, room_height - 32, room_width, room_height, false);
draw_set_color(c_white);
while (keyboard_lastkey != vk_enter)
{
draw_text(10, room_height-16, "Digite offset y:" + keyboard_string);
io_handle();
screen_refresh();
}
oy = real(keyboard_string);
sprite_set_offset(sprite_index, ox, oy);
Tópicos semelhantes
» [Resolvido]Alterar o ponto de origem da bala na sprite.
» Pergunta sobre Gm 5 e 7
» Pergunta sobre 3d
» Pergunta sobre SOC dll
» Pergunta sobre GML
» Pergunta sobre Gm 5 e 7
» Pergunta sobre 3d
» Pergunta sobre SOC dll
» Pergunta sobre GML
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos