Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[RESOLVIDO]Erro de criação de inimigo
2 participantes
GMBR :: Ensine & Aprenda :: Perguntas e Respostas :: Game Maker :: GMS:Windows
Página 1 de 1
[RESOLVIDO]Erro de criação de inimigo
Olá pessoal venho aqui de novo pedir ajuda com um código. Bem, eu estava ajustando algumas coisas do meu jogo e vi e lembrei de um erro que não consigo corrigir mas não é algo que vai atrapalhar muito porem gostaria de tirar ele.
O erro consiste em OBJ gerar inimigos em um mapa procedural e criar eles aonde não tem parede, e sim uma área livre aonde inimigo não fique preso ou algo do tipo, porem, ele faz isso certo e ate que muito bem mas alguns inimigos ainda ficam preso na parede, por conta que um pouco da sprite fica nessa "área livre" e outro não(lembrando que: a sprite inteira não tem colisão mas sim uma parte dela), e isso eu não consigo corrigir ou fazer o código entenda que tem que considerar boa parte da sprite(código abaixo para melhor entendimento)
tem algum jeito de eu fazer uma verificação de uma posição, e ele criar o personagem somente se não houver colisão nenhuma( considerando a sprite também)? Desculpe o texto grande mas é difícil explicar essa situação, então resumi no máximo que pude. Se puderem me ajudar eu ficarei grato, e se precisar eu posso passar mais informação ou explicar melhor.
O erro consiste em OBJ gerar inimigos em um mapa procedural e criar eles aonde não tem parede, e sim uma área livre aonde inimigo não fique preso ou algo do tipo, porem, ele faz isso certo e ate que muito bem mas alguns inimigos ainda ficam preso na parede, por conta que um pouco da sprite fica nessa "área livre" e outro não(lembrando que: a sprite inteira não tem colisão mas sim uma parte dela), e isso eu não consigo corrigir ou fazer o código entenda que tem que considerar boa parte da sprite(código abaixo para melhor entendimento)
- Código:
randomize();
var inimig_x = random(room_width);
var inimig_y = random(room_height);
escolhi_esse = choose("pedra_viva","sentinela_torre");
var rolagem = irandom(100)
switch(escolhi_esse)
{
case "pedra_viva":
if(inimigo_criacao_pedra <= 5)
{
if(rolagem > 60)
{
if(position_empty(inimig_x,inimig_y))
{
instance_create_layer(inimig_x,inimig_y,"inimigos",obj_inimigo);
inimigo_criacao_pedra++;
}
}
}
break;
case "sentinela_torre":
if( inimigo_criacao_sentinela <= 3)
{
if(rolagem > 45)
{
if(position_empty(inimig_x,inimig_y))
{
instance_create_layer(inimig_x,inimig_y,"inimigos",obj_inimigo_2);
inimigo_criacao_sentinela++;
}
}
}
break;
}
tem algum jeito de eu fazer uma verificação de uma posição, e ele criar o personagem somente se não houver colisão nenhuma( considerando a sprite também)? Desculpe o texto grande mas é difícil explicar essa situação, então resumi no máximo que pude. Se puderem me ajudar eu ficarei grato, e se precisar eu posso passar mais informação ou explicar melhor.
Última edição por PaladinoMaluko em Sex 05 Mar 2021, 17:23, editado 1 vez(es)
PaladinoMaluko- Data de inscrição : 08/01/2021
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [RESOLVIDO]Erro de criação de inimigo
Opa e ai blz ?
Tem um jeito sim. Você pode criar um sprite do tamanho que vc precisa e marcar a caixa de verificação de colisão dele como Full. Quando vc criar o objeto, vc coloca temporariamente esse sprite e testa a colisão. Acho que funciona!
Flws!
Tem um jeito sim. Você pode criar um sprite do tamanho que vc precisa e marcar a caixa de verificação de colisão dele como Full. Quando vc criar o objeto, vc coloca temporariamente esse sprite e testa a colisão. Acho que funciona!
Flws!
Re: [RESOLVIDO]Erro de criação de inimigo
vinians escreveu:Opa e ai blz ?
Tem um jeito sim. Você pode criar um sprite do tamanho que vc precisa e marcar a caixa de verificação de colisão dele como Full. Quando vc criar o objeto, vc coloca temporariamente esse sprite e testa a colisão. Acho que funciona!
Flws!
bem, eu fiz oque você disse e ainda acontece isso, no caso usei "baús" para mostrar oque acontece:
(desculpe a qualidade baixa)
os dois outros "baús" criaram normalmente, mas o 3° "baú" acaba criando metade dentro do bloco vermelho que não ser criado nada ali. Mas com tudo obrigado pela ajuda, tentarei usar outros métodos
PaladinoMaluko- Data de inscrição : 08/01/2021
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [RESOLVIDO]Erro de criação de inimigo
Certo, verifique a caixa de colisão dos blocos, você pode colocar como manual e definir para combinar exatamente com a parte visual. Esse erro realmente parece ser problema de colision box.
Flws!
Flws!
PaladinoMaluko gosta desta mensagem
Re: [RESOLVIDO]Erro de criação de inimigo
Atualização: depois de um tempo arrumando, consegui arrumar o erro. Fui em outro fóruns perguntas algumas outras coisas e consegui arrumar o erro, obrigado pela ajuda pois descobri que não era apenas um erro e sim um conjunto de problemas(colisão,sprite e codigo).
PaladinoMaluko- Data de inscrição : 08/01/2021
Reputação : 0
Número de Mensagens : 15
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
GMBR :: Ensine & Aprenda :: Perguntas e Respostas :: Game Maker :: GMS:Windows
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos