Altura Maxima
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Altura Maxima
Iaew Galera, blz? estou desenvolvendo um jogo que simula o lançamento obliquo... ja esta tudo pronto, mas nao consigo achar uma maneira de saber a altura maxima que o objeto alcança, ja q os dados sao variaveis.. alguem pode me ajudar? como faço pra guardar em uma variavel a posicao.y maxima alcançada?
LucasSantos- Iniciante
- PONTOS : 2930
REPUTAÇÃO : 0
Respeito as regras :
Re: Altura Maxima
Pelo Que Entende Vc Que Salvar A Posicao.y Vc Pode Usar O PlayerPrefs
Bruno- ProgramadorMaster
- PONTOS : 3415
REPUTAÇÃO : 142
Idade : 22
Áreas de atuação : C# Avançado, SQL Intermediário, Unity3D Intermediário, HTML Iniciante, CSS Iniciante e ASP.NET
Respeito as regras :
Re: Altura Maxima
entao.. eu criei um ponto chamado posBala que eh de onde eu pego tanto a posição inicial em "x" como em "y". pra calcular a distancia no eixo "x" eu uso a posição final - posição inicial q eh a posição do posBala.x, ate aqui blz, mas e a posição y? a bala sobe, para e começa a descer... entende? infelizmente o Physics.Gravity mostra o valor da gravidade padrao e n o atual.. pq no ponto mais alto o valor da velocidade do eixo Y = 0, ai seria facil.. mas nao existe (ou pelo menos nao encontrei) um lugar na unity que me diz quando a velocidade do eixo Y = 0;
tendeu? eu n sei se da pra fazer por array, um array q guarda a informação da posição.y mas q so mantem os maiores valores. alguem sabe se tem como? e como fazer?
tendeu? eu n sei se da pra fazer por array, um array q guarda a informação da posição.y mas q so mantem os maiores valores. alguem sabe se tem como? e como fazer?
LucasSantos- Iniciante
- PONTOS : 2930
REPUTAÇÃO : 0
Respeito as regras :
Re: Altura Maxima
LucasSantos escreveu:Iaew Galera, blz? estou desenvolvendo um jogo que simula o lançamento obliquo... ja esta tudo pronto, mas nao consigo achar uma maneira de saber a altura maxima que o objeto alcança, ja q os dados sao variaveis.. alguem pode me ajudar? como faço pra guardar em uma variavel a posicao.y maxima alcançada?
Você pode ir gravando numa variável float até que a velocidade chegue a 0, depois disso não grava mais, pois depois disso ela começa a descer e volta a ter velocidade.
Algo assim:
- Código:
float posY;
if(objeto.velocidade != 0){
posy = objeto.transform.position.y;
}
Re: Altura Maxima
entendi sua ideia, mas n deu certo...dipode escreveu:LucasSantos escreveu:Iaew Galera, blz? estou desenvolvendo um jogo que simula o lançamento obliquo... ja esta tudo pronto, mas nao consigo achar uma maneira de saber a altura maxima que o objeto alcança, ja q os dados sao variaveis.. alguem pode me ajudar? como faço pra guardar em uma variavel a posicao.y maxima alcançada?
Você pode ir gravando numa variável float até que a velocidade chegue a 0, depois disso não grava mais, pois depois disso ela começa a descer e volta a ter velocidade.
Algo assim:
- Código:
float posY;
if(objeto.velocidade != 0){
posy = objeto.transform.position.y;
}
LucasSantos- Iniciante
- PONTOS : 2930
REPUTAÇÃO : 0
Respeito as regras :
Re: Altura Maxima
Assim:LucasSantos escreveu:entendi sua ideia, mas n deu certo...dipode escreveu:LucasSantos escreveu:Iaew Galera, blz? estou desenvolvendo um jogo que simula o lançamento obliquo... ja esta tudo pronto, mas nao consigo achar uma maneira de saber a altura maxima que o objeto alcança, ja q os dados sao variaveis.. alguem pode me ajudar? como faço pra guardar em uma variavel a posicao.y maxima alcançada?
Você pode ir gravando numa variável float até que a velocidade chegue a 0, depois disso não grava mais, pois depois disso ela começa a descer e volta a ter velocidade.
Algo assim:
- Código:
float posY;
if(objeto.velocidade != 0){
posy = objeto.transform.position.y;
}
- Código:
bool somenteUmaVez;
float posY;
if(objeto.velocidade != 0 && somenteUmaVez == false){
posy = objeto.transform.position.y;
}else{
somenteUmaVez = true;
}
Re: Altura Maxima
entao amigo, acho que nao expliquei muito bem..
eu tenho 2 variaveis que o usuario adiciona.. angulo de lançamento e velocidade.
essa velocidade é equivalente ao angulo de lançamento e nao ao eixo.y ou seja eh a velocidade do eixo.x que por sua vez nao eh alterada durante a simulação.. a velocidade no eixo.x eh constante. a unica coisa que eu preciso eh q o jogo grave a altura mais alta que o objeto alcançou, mas como? tipo, eu tentei fazer algo como:
- Código:
float posY;
float AltMax;
void update()
{
posY = transform.position.y; // dessa maneira a variavel posY sempre vai receber o valor atual no eixo y
if(posY > posY - 0.5f) //essa circunstancia está errada, mas a ideia eh q quando for detectado que a bala parou de subir, a variavel AltMax guarda a posição y.
{
AltMax = transform.position.y;
}
}
o problema é que esse if fica impossivel de acontecer, ja q ele nunca vai dar como ele mesmo - 0.5f, entendeu?
o codigo precisa comparar os dados ate ver q ele parou de subir, mas nao tenho uma variavel que calcula eixo.y
e pra fazer uma tem q calcular cosseno, e pra calcular cosseno tem q saber o os catetos e blablabla...
tenho certeza que deve ter uma maneira, mas n consigo pensar em alguma coisa.
LucasSantos- Iniciante
- PONTOS : 2930
REPUTAÇÃO : 0
Respeito as regras :
Re: Altura Maxima
LucasSantos escreveu:entao amigo, acho que nao expliquei muito bem..eu tenho 2 variaveis que o usuario adiciona.. angulo de lançamento e velocidade.essa velocidade é equivalente ao angulo de lançamento e nao ao eixo.y ou seja eh a velocidade do eixo.x que por sua vez nao eh alterada durante a simulação.. a velocidade no eixo.x eh constante. a unica coisa que eu preciso eh q o jogo grave a altura mais alta que o objeto alcançou, mas como? tipo, eu tentei fazer algo como:
- Código:
float posY;
float AltMax;
void update()
{
posY = transform.position.y; // dessa maneira a variavel posY sempre vai receber o valor atual no eixo y
if(posY > posY - 0.5f) //essa circunstancia está errada, mas a ideia eh q quando for detectado que a bala parou de subir, a variavel AltMax guarda a posição y.
{
AltMax = transform.position.y;
}
}
o problema é que esse if fica impossivel de acontecer, ja q ele nunca vai dar como ele mesmo - 0.5f, entendeu?
o codigo precisa comparar os dados ate ver q ele parou de subir, mas nao tenho uma variavel que calcula eixo.y
e pra fazer uma tem q calcular cosseno, e pra calcular cosseno tem q saber o os catetos e blablabla...
tenho certeza que deve ter uma maneira, mas n consigo pensar em alguma coisa.
Entendi:
- Código:
float AltMax;
void update()
{
if(transform.position.y > AltMax)
{
AltMax = transform.position.y;
}
}
Re: Altura Maxima
cara... um negocio tão simples e eu aqui pensando em 1000 coisas.. vlw mano,, está funcionando!! :D
LucasSantos- Iniciante
- PONTOS : 2930
REPUTAÇÃO : 0
Respeito as regras :
Re: Altura Maxima
LucasSantos escreveu:cara... um negocio tão simples e eu aqui pensando em 1000 coisas.. vlw mano,, está funcionando!! :D
também me acontece kkkkk
Tópicos semelhantes
» Altura de voar?
» TERIA COMO FAZER UMA VELOCIDADE MAXIMA PRO CARRO? [RESOLVIDO] :D
» [RESOLVIDO] Prefab com altura diferente na Scene
» [RESOLVIDO] O parâmetro de direção do raycast limita a distância máxima?
» Personagem acionar animação após cair / saltar de determinada altura
» TERIA COMO FAZER UMA VELOCIDADE MAXIMA PRO CARRO? [RESOLVIDO] :D
» [RESOLVIDO] Prefab com altura diferente na Scene
» [RESOLVIDO] O parâmetro de direção do raycast limita a distância máxima?
» Personagem acionar animação após cair / saltar de determinada altura
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos