Entrar
Últimos assuntos
» Preciso de ajudapor 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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28
» 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
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
Como Fazer uma UMA mira a Laser ?
2 participantes
Página 1 de 1
Como Fazer uma UMA mira a Laser ?
Como Fazer uma UMA mira a laser tipo a do resident evil 4 ou 5 em um jogo de top dow e quando a mira a lazer encostar em um bloco ela si limite ate la ? ( fase isso com o draw ) Flw
Atenção não utilizo o mouse nesse jogo ( o personagem ando e gira com as setas )
Atenção não utilizo o mouse nesse jogo ( o personagem ando e gira com as setas )
Re: Como Fazer uma UMA mira a Laser ?
É o seguinte: você tem uma direção e quer determinar uma distância com precisão. Você vai criar um script que pegue uma distância máxima e vá diminuido, até chegar na distância correta. Ou seja, um loop.
Pra diminuir o número de iterações, você NÃO VAI reduzindo essa distância de um em um. Você vai dividir por dois e checar se, nessa distância, o laser atinge o objetivo ou não. Se sim, reduz, se não, aumenta.
create:
variável1: distância máxima (tipo a diagonal da tela, por exemplo)
variável2: metade da variável 1
tiro:
variável3: distância atual (=variável 1)
variável4: tanto atual pra ser retirado (=variável2)
repete um monte (até variável4 ser menor ou igual a precisão desejada){
se collision_line(no ângulo e medida)
variável3-=variável4
senão
variável3+=variável4
de qualquer forma, divide por 2 a variável4
}
É, eu também não gosto de simplesmente dividir por 2. Mas já fiz muitos testes do tipo "se colidir, reduz 2/3 e se não colidir, aumenta 1/3" e a velocidade pra atingir o resultado depende da posição do objeto. Dividir por 2 foi a única que não dependia de nada. Em alguns casos é mais lenta que outras alternativas, mas em outros, é mais rápida, portanto pra se ter certeza do número de iterações, só dividindo por 2, mesmo...
Pra diminuir o número de iterações, você NÃO VAI reduzindo essa distância de um em um. Você vai dividir por dois e checar se, nessa distância, o laser atinge o objetivo ou não. Se sim, reduz, se não, aumenta.
create:
variável1: distância máxima (tipo a diagonal da tela, por exemplo)
variável2: metade da variável 1
tiro:
variável3: distância atual (=variável 1)
variável4: tanto atual pra ser retirado (=variável2)
repete um monte (até variável4 ser menor ou igual a precisão desejada){
se collision_line(no ângulo e medida)
variável3-=variável4
senão
variável3+=variável4
de qualquer forma, divide por 2 a variável4
}
É, eu também não gosto de simplesmente dividir por 2. Mas já fiz muitos testes do tipo "se colidir, reduz 2/3 e se não colidir, aumenta 1/3" e a velocidade pra atingir o resultado depende da posição do objeto. Dividir por 2 foi a única que não dependia de nada. Em alguns casos é mais lenta que outras alternativas, mas em outros, é mais rápida, portanto pra se ter certeza do número de iterações, só dividindo por 2, mesmo...
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
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|