Colisão entre eventos[pisos]

16 Respostas   199 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

SoyeR

Tópico criado em: 05/01/2019 às 10:52 - Última modificação por Vash em 05/01/2019 às 12:54

Estou tentando fazer um puzzle onde o personagem precisa mover os pisos para formar uma imagem. a movimentação já ta pronta porem os eventos acabam entrando um dentro do outro impossibilitando a conclusão do puzzle.

Então como fazer para os pisos se movimentarem sem entrarem "dentro" do outro evento "piso".




hategum rpg

Resposta 1: 05/01/2019 às 11:04

São dois eventos? Nas prioridades eles tem de ser iguais.
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

SoyeR

Resposta 2: 05/01/2019 às 11:07

serão mais de 2 mas na prioridade todos estão abaixo do personagem.




hategum rpg

Resposta 3: 05/01/2019 às 11:13

Você quer uma colisão entre os eventos de piso ou uma colisão com o jogador e o piso?

Se quer que o jogador passe por cima do piso coloque através.
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

SoyeR

Resposta 4: 05/01/2019 às 11:15

Em uma are 4x3 existem 11 pisos o jogador vai pisar no piso que quer mover porem só tem 1 espaço livre sempre que ele mexe um piso outro espaço fica livre porem como não há colisão entre os pisos o jogador ta conseguindo mover um piso para dentro do outro




hategum rpg

Resposta 5: 05/01/2019 às 11:25

Qual o evento que se move quando o jogador clima no piso? É o piso ? Então coloca uma swit para piso igual aos personagem, em todos os eventos de piso.
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

SoyeR

Resposta 6: 05/01/2019 às 11:30

Se for igual ao personagem o personagem não consegue pisar nos pisos.




Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 7: 05/01/2019 às 11:30

Ao pisar em um piso tu pode guardar as coordenadas X e Y de destino (para onde ele será movido) dele e utilizar elas no comando de evento Informação de Posição para verificar o ID do evento que há nessas coordenadas. Se esse comando retornar um valor 0, significa que não há evento naquela coordenada, portanto tu pode executar o movimento, do contrário, já existe um evento lá.

hategum rpg

Resposta 8: 05/01/2019 às 11:33

Se for igual ao personagem o personagem não consegue pisar nos pisos.
Aba1 = abaixo do personagem
Aba2= interruptor ligado, igual a os personagens
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

SoyeR

Resposta 9: 05/01/2019 às 11:40

Gerar a ideia é boa tava tentando fazer isso aqui mas o que vai impedir o jogador de pisar no piso mais distante e mover para o lugar livre?

Hategum com isso só consigo alterar o piso que o jogador está em cima mas os outros vão continuar abaixo do jogador, mas vou tentar um modo usando as abas.

to tentando fazer isso aqui:





Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 10: 05/01/2019 às 11:48

Gerar a ideia é boa tava tentando fazer isso aqui mas o que vai impedir o jogador de pisar no piso mais distante e mover para o lugar livre?[...]
Justamente o fato de ele estar distante. O jogador pisou em determinado tile, tu vai verificar se acima dele está livre, se não estiver, verifica a direita, a esquerda e abaixo. Se nenhuma direção estiver livre, o tile não move, se alguma estiver, ele move na que está e para de verificar as próximas direções. E o bom é que tu só programa isso uma vez, e pode colar essa programação em todos os outros tiles.

SoyeR

Resposta 11: 05/01/2019 às 12:14

Consegui! valeu gerar fiz as verificações e dai ele só se move se tiver livre  :wow: :wow:




hategum rpg

Resposta 12: 05/01/2019 às 12:19

Eu não entendi, como assim verifica?
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

RRodrigoRR

  • *
  • Posts: 58
  • Ouros: 20
  • Se o evento num dá certo apenas mude a condição
Resposta 13: 05/01/2019 às 12:33

Eu não entendi, como assim verifica?
Basicamente, o que acontecerá é que a programação orientada ao objeto (tile) fará um "scan" para analisar as possibilidades de movimento do tile... Ele verificará nos 4 sentidos (cima, baixo, esquerda e direita)... caso uma delas esteja livre significa dizer que o jogador pisou ali e então o tile se mexe para ocupar o lugar livre... caso não esteja, significa que o jogador não pisou ali e o tile não se move...
de maneira simples é isso... agora como fazer isso, não sei ao certo  :coffee:
Em breve:

SoyeR

Resposta 14: 05/01/2019 às 12:41

Exatamente como mencionado acima eu verifico a posição do "piso" e verifico em cima, baixo, esquerda e direita[Coordenadas do Mapa X e Y] Exemplo: adiciono +1 X para verificar se a direita está livre. se estiver ele move e finaliza o evento.
Mas precisei adicionar eventos ao redor da area pq se não os tiles das pontas não mechem ou saem da area designada.