Duvida jogo 360 graus

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Duvida jogo 360 graus

Mensagem por Sargento Viçosa em Qui 05 Jan 2012, 19:04

Entao gurizada, estou quebrando a cabeça com uns codigos basicos aqui, que nao consigo me recordar e por isso, deixarei as duvidas aqui para quem puder responder.

Estou fazendo um jogo em 360 graus, semelhante aos primeiros GTAs, vou listar minhas duvidas abaixo, para melhor entendimento:

1 - Estou enfrentando alguns bugs utilizando speed como colisao com objetos no jogo, tanto no player, quanto na AI, qual codigo poderia utilizar para o objeto parar quando colidir com a parede, porem conseguir voltar a andar apos isso?

2 - Tambem estou enfrentando problemas com a colisao da AI com paredes e objetos solidos, o que eu poderia utilizar para faze-los desviar ou mesmo mudar a direçao quando colidirem com estes objetos?

Sargento Viçosa

Número de Mensagens : 28
Idade : 31
Data de inscrição : 01/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Thyago em Qui 05 Jan 2012, 20:47

.Tente o código abaixo para usar no movimento dos seus personagens.

Código:
mp_potential_step(x,y,speed,0)

até mais.


Última edição por Thyago em Qui 05 Jan 2012, 21:37, editado 1 vez(es)

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Sargento Viçosa em Qui 05 Jan 2012, 21:32

No meu caso o codigo nao funciona, pois estou trabalhando com angulos de imagem e speed.

Para especificar minha duvida, no meu jogo, a funçao parar funciona, porem os objetos nao voltam a se mover novamente.

Estou utilizando como speed=0 nas colisoes e distance_to_object para os objetos. O que poderia utilizar para corrigir esse bug?

Sargento Viçosa

Número de Mensagens : 28
Idade : 31
Data de inscrição : 01/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Thyago em Qui 05 Jan 2012, 21:39

.Do jeito que você esta fazendo sera muito mais dificil de dar certo,voce vai ter que criar um código enorme ao invés de usar uma linha.

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Mr.Brum em Qui 05 Jan 2012, 21:45

Este é um dos bugs que eu mais odeio!
Quando vc colide com o objeto,dá certo, mas a colisão não te impede de girar o objeto,e isso faz com que ele fique dentro do outro,e garre ao tentar sair.
Esse é um bug constante em jogos top views, e que faz a gente largar tudo e desistir do projeto!
Mas,ao me deparar com ele pela segunda vez,depois de algum tempo,estudo de engines,e vários testes , cheguei a um código que tem funcionado comigo, gostaria de te passar, e que você guardasse ele, porque sempre que fizer este tipo de jogo, irá precisar deste código:

OBJETO PRINCIPAL:

CREATE:
Código:
old_dir = direction

BEGIN STEP:
Código:
old_dir = direction

COLISÃO COM O OBJETO DESEJADO:
Código:
if speed > 0 or speed < 0
    {
    speed *= -1
    speed /= 2 
    }
direction = old_dir

var dir_from;
dir_from = point_direction(other.x+16,other.y+16,x,y)
x += lengthdir_x(2,dir_from)
y += lengthdir_y(2,dir_from)

Testa aí e me fala o que houve!


Mr.Brum

Ranking : Nota C
Número de Mensagens : 913
Idade : 25
Data de inscrição : 28/04/2011
Notas recebidas : D + D + C + C + D + B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://mrbrumgames.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Sargento Viçosa em Qui 05 Jan 2012, 21:52

Sim, funcionou, porem houve um problema, o angulo da imagem nao acompanhou o da direçao do objeto.

No jogo estou utilizando assim:
create:
angle_imagem=0
direction=270


Sargento Viçosa

Número de Mensagens : 28
Idade : 31
Data de inscrição : 01/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Mr.Brum em Qui 05 Jan 2012, 21:56

Não seria isso?:
image_angle=0
direction=270

O que você deseja fazer??
Se quiser que o ângulo da imagem seje = a direction, coloque isso no step:
image_angle=direction

Mr.Brum

Ranking : Nota C
Número de Mensagens : 913
Idade : 25
Data de inscrição : 28/04/2011
Notas recebidas : D + D + C + C + D + B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://mrbrumgames.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Sargento Viçosa em Qui 05 Jan 2012, 21:58

Consegui resolver, apenas acrescentei ao final do codigo de colisao o codigo abaixo:


Código:
image_angle=(direction-270)


Agradeço a todos que ajudaram, duvida resolvida.

Sargento Viçosa

Número de Mensagens : 28
Idade : 31
Data de inscrição : 01/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida jogo 360 graus

Mensagem por Conteúdo patrocinado Hoje à(s) 02:04


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum