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
[abs e sign] como funcional?
5 participantes
Página 1 de 1
[abs e sign] como funcional?
ola gente do forum, eu gostaria de saber se alguem poderia me esplicar como funciona esse 2 comandos: abs e sign
tipo acho que eles podem me ajudar bastante, so nao sei como eles funcional, se alguem puder me ajudar eu agradeço
tipo acho que eles podem me ajudar bastante, so nao sei como eles funcional, se alguem puder me ajudar eu agradeço
Re: [abs e sign] como funcional?
abs(x) Returns the absolute value of x.
sign(x) Returns the sign of x (-1, 0 or 1).
O abs serve para tirar o sinal de um numero, por exemplo:
abs(-40) vai retornar 40.
abs(40) vai retornar também 40.
Sign vai retornar o sinal do numero, por exemplo:
sign(-40) vai retornar -1(pra você saber que esse numero é negativo)
sign(0) vai retornar 0.
sign(40) vai retornar 1.
sign(x) Returns the sign of x (-1, 0 or 1).
O abs serve para tirar o sinal de um numero, por exemplo:
abs(-40) vai retornar 40.
abs(40) vai retornar também 40.
Sign vai retornar o sinal do numero, por exemplo:
sign(-40) vai retornar -1(pra você saber que esse numero é negativo)
sign(0) vai retornar 0.
sign(40) vai retornar 1.
Re: [abs e sign] como funcional?
vlw , mas como uso pra fazer movimentos tipo é pra um jogo de puzzle que estou fazendo, e a verificacao tem que ser exata, e me parece que da pra fazer caom essas funcoes so nao sei usar, tem como me ajudar?
Re: [abs e sign] como funcional?
Cara o legal da programação é que você pode fazer algo com N maneiras diferentes, se você disse que essas duas funções vai te ajudar, você tem que pensar em um jeito que elas vão se encaixar.
Infelizmente não posso te ajudar a criar seu jogo todo, mas se você me falar como ele vai ser eu posso te dar dicas.
Infelizmente não posso te ajudar a criar seu jogo todo, mas se você me falar como ele vai ser eu posso te dar dicas.
Re: [abs e sign] como funcional?
eu uso muito "sign" pra saber a direção de uma coisa, por exemplo, a velocidade.
Então se quero que um objeto verifique se tem uma colisão dois passos adiante, eu faço algo como
Já abs, eu uso pra muita coisa... tem situações que você quer saber o módulo do valor, não interessa se é positivo ou negativo. Por exemplo, a distância horizontal entre dois objetos é "ob1 . x - ob2 . x". Isso pode te dar um valor negativo. "abs" transformaria ele em positivo e você poderia colocar a intensidade de um sinal baseado no resultado, pro jogador usar um radar pra procurar algum objeto.
Então se quero que um objeto verifique se tem uma colisão dois passos adiante, eu faço algo como
- Código:
pos_x_da_colisao := x + sign(velocidade) * 2 * tamanho_do_passo
Já abs, eu uso pra muita coisa... tem situações que você quer saber o módulo do valor, não interessa se é positivo ou negativo. Por exemplo, a distância horizontal entre dois objetos é "ob1 . x - ob2 . x". Isso pode te dar um valor negativo. "abs" transformaria ele em positivo e você poderia colocar a intensidade de um sinal baseado no resultado, pro jogador usar um radar pra procurar algum objeto.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [abs e sign] como funcional?
mas tipo ainda nao entendi como isso pode ser usado pra colisao, tem como fazer um tutorial ou uma engina pra eu intender melhor? tipo pq to fazendo um jogo que tem que ter colisao perfeita, tem alguma dica??
Re: [abs e sign] como funcional?
Mas no caso depende da sua necessidade. O que você quer ao certo? Porque se você quer usar esses dois comandos não é atoa. Descreva como seria essa colisão. ABS, na movimentação, serve como função para ajudar nos calculos de distancia ou soma de valores geralmente e sign para condições. Ex:
- Código:
if( abs( sign( hspeed ) ) )then movimento = true;
Re: [abs e sign] como funcional?
quero um movimento limpo, top down quando o player encosta na "parede" ele para exatamente do lado da parede, nem antes nem depois (é isso que preciso)
colisao verificando pixil por pixel
obrigado desde ja
colisao verificando pixil por pixel
obrigado desde ja
Re: [abs e sign] como funcional?
Tem a engine do willy, deixa eu procurar aqui...
Olha, está na versão 2.0!
Acho que não tem nada a ver nem com abs nem com sign - achei legal ver funcionando, mas nunca cheguei a esmiuçar os scripts - mas te dá o que você quer, de um jeito muito didático e divertido.
A apresentação da engine não começa, de cara, com movimento em plataforma, mas vai acompanhando que chega lá.
Olha, está na versão 2.0!
Acho que não tem nada a ver nem com abs nem com sign - achei legal ver funcionando, mas nunca cheguei a esmiuçar os scripts - mas te dá o que você quer, de um jeito muito didático e divertido.
A apresentação da engine não começa, de cara, com movimento em plataforma, mas vai acompanhando que chega lá.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [abs e sign] como funcional?
Obrigado por citar a engine, me poupou o trabalho.saim escreveu:Tem a engine do willy, deixa eu procurar aqui...
Olha, está na versão 2.0!
Acho que não tem nada a ver nem com abs nem com sign - achei legal ver funcionando, mas nunca cheguei a esmiuçar os scripts - mas te dá o que você quer, de um jeito muito didático e divertido.
A apresentação da engine não começa, de cara, com movimento em plataforma, mas vai acompanhando que chega lá.
charlles.rafael:
Por coincidência, a engine faz o uso de abs e de sign. Vou explicar como:
Tenhamos como base, o script que simula o hspeed, que no caso da engine, é o scr_hspeed. Para usar o script, precisamos passar a velocidade que queremos.
Observando o script, perceba que uma das primeiras linhas é a seguinte:
- Código:
d = sign(argument0);
Depois disso, logo abaixo, encontramos:
- Código:
repeat(abs(argument0))
Depois disso, o script começa a calcular se existe espaço livre para poder andar, mas, como saber a direção certa que temos que checar? Já fizemos isso, e a resposta para nosso problema está na variável "d". Em código, é isso:
- Código:
place_free(x+1*d,y);
Resumindo, usamos abs para garantir que o repeat receba um valor positivo e usamos sign para saber em qual direção (-1, 0, 1, ou seja, esquerda, parado, direita) o objeto está se movendo.
Última edição por Willy em Sáb 11 Jan 2014, 15:12, editado 1 vez(es)
Re: [abs e sign] como funcional?
Correção rápida:Willy escreveu:Na matemática, todo numero multiplicado por 1 vira positivo, todo numero multiplicado por -1 vira negativo, e todo numero multiplicado por 0 vira 0.
todo numero multiplicado por 1 fica igual estava antes
todo numero multiplicado por -1 inverte o sinal
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [abs e sign] como funcional?
Opa, pequeno deslize meu... Obrigado pela correção, nem percebi o erro. Já corrigi o post.
Tópicos semelhantes
» Sign Dark Assassin
» [Expo]Sign do Crysis
» como eu faço pra carregar o texto de um arquivo .txt, como fazer a janela piscar e como desenhar sprite em jogo 3d?
» [resolvido]como fazer sprite 2D,como separar algum, como editar algum
» [Resolvido]Dúvida com sign
» [Expo]Sign do Crysis
» como eu faço pra carregar o texto de um arquivo .txt, como fazer a janela piscar e como desenhar sprite em jogo 3d?
» [resolvido]como fazer sprite 2D,como separar algum, como editar algum
» [Resolvido]Dúvida com sign
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos