Conectar-se
Quem está conectado
23 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 23 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 01/10/2011
Número de Mensagens : 28
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Duvida jogo 360 graus

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?
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 31

Prêmios
   : 1
   : 1
   :
Ver perfil do usuário

Re: Duvida jogo 360 graus

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)
avatar
Data de inscrição : 01/10/2011
Número de Mensagens : 28
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Duvida jogo 360 graus

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?
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 31

Prêmios
   : 1
   : 1
   :
Ver perfil do usuário

Re: Duvida jogo 360 graus

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.
avatar
Ranking : Nota C
Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Número de Mensagens : 913
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 41

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://mrbrumgames.blogspot.com/

Re: Duvida jogo 360 graus

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!

avatar
Data de inscrição : 01/10/2011
Número de Mensagens : 28
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Duvida jogo 360 graus

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

avatar
Ranking : Nota C
Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Número de Mensagens : 913
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 41

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://mrbrumgames.blogspot.com/

Re: Duvida jogo 360 graus

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
avatar
Data de inscrição : 01/10/2011
Número de Mensagens : 28
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Duvida jogo 360 graus

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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum