ajuda com codigo

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

ajuda com codigo

Mensagem por nightlynx em Qui 13 Nov 2008, 16:47

Olá a todos,
Estou começando a desbravar as possibilidades do Game Maker e estou gostando bastante, mas ultimamente tenho tido problemas com a movimentação de um inimigo.
o Código da Movimentação é esse:

Evento Create:
Código:
image_speed = 0.5;

Evento Step:
Código:
//Movimentação do Inimigo Bat


//Se o char estiver perto do inimigo à esquerda
if obj_char.x< x and distance_to_object(obj_char)<250
{
    sprite_index = spr_bat_fly_L;
    x -= 3;
}

//Se o char estiver abaixo do inimigo
if obj_char.y > y and distance_to_object(obj_char)<200
{
    y+=3;
}

E o erro que está acontecendo é esse:

E só acontece quando o meu personagem principal morre.

Ainda não consegui entender direito o por que desse erro,
quem poder me ajudar, eu ficaria muito grato
Valeuu
Very Happy

nightlynx

Número de Mensagens : 9
Idade : 27
Data de inscrição : 13/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por Kabeção em Qui 13 Nov 2008, 17:33

Olá nightlynx!
Bem vindo ao forum! ^^

É simples, perceba só:
if obj_char.x< x and distance_to_object(obj_char)<250
{
sprite_index = spr_bat_fly_L;
x -= 3;
}
Imagino que esta seja o player.
Se ele for destruido então ele não existi mais, assim o x de obj_char também não existi, ai da erro.
Por isso você tem que checar primeiro se o obj_char existi ou ja morreu antes desde código.
Um exemplo:
Código:
//Movimentação do Inimigo Bat

//Se o obj_char existi
if object_existi(obj_char)
{
    //Se o char estiver perto do inimigo à esquerda
    if obj_char.x< x and distance_to_object(obj_char)<250
    {
        sprite_index = spr_bat_fly_L;
        x -= 3;
    }

    //Se o char estiver abaixo do inimigo
    if obj_char.y > y and distance_to_object(obj_char)<200
    {
        y+=3;
    }
}
object_existi() retorna se o obj existe na room.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Consegui descobrir

Mensagem por nightlynx em Qui 13 Nov 2008, 17:58

Consegui descobrir qual era o erro:
É que quando o meu personagem morria eu destruía a instancia dele e aí o obj_bat não tinha como descobrir o obj_char.x nem o obj_char.y

Eu resolvi colocando apenas um:
Código:
if (instance_exists(obj_char))
antes dakele código todo !!

Mas Valeu mesmo assim !!!
bounce

nightlynx

Número de Mensagens : 9
Idade : 27
Data de inscrição : 13/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por nightlynx em Qui 13 Nov 2008, 18:00

Exato, soh que nesse meu post ai de cima eu ainda nao tinha visto a sua reposta !!

Valeu mesmo !!
Very Happy

nightlynx

Número de Mensagens : 9
Idade : 27
Data de inscrição : 13/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

MAIS DÚVIDASS

Mensagem por nightlynx em Qui 13 Nov 2008, 18:50

Olá de novo !! Very Happy
Estou com outra dúvida:
O que eu faço para fazer o personagem se mover por uma plataforma diagonal confused

Na verdade ele nem precisa se movimentar normalmente em cima dela
A intenção é que quando ele pise na plataforma ele deslize automaticamente (impedindo o jogador de voltar)

Eu tenho uma vaga ideia do que fazer:
quando a posição do char estiver entre o inicio e o fim da plataforma eu aumento a posição em x e em y dele ate que ele chegue na base da plataforma-
mas eu não faço a minima ideia de como fazer isso em codigo no GM !!
( se não for isso tbm, me corrijamgeek )

Mais uma vez: A quem puder me ajudar, Muito obrigado !

nightlynx

Número de Mensagens : 9
Idade : 27
Data de inscrição : 13/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por Convidad em Qui 13 Nov 2008, 19:16

Eae nightlynx, blz!... só uma dica velho, como a sua dúvida agora é outra seria legal que vc criasse um novo tópico para ela, pois além de facilitar a visualização dos demais contribui para o sistema de busca (como vão achar se está dentro de outro tópico diferente, saca?)

flw

t+

Convidad
Convidado


Voltar ao Topo Ir em baixo

blz

Mensagem por nightlynx em Qui 13 Nov 2008, 19:19

vou criar outro agora então !
vlww !! lol!

nightlynx

Número de Mensagens : 9
Idade : 27
Data de inscrição : 13/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por Janx em Qui 13 Nov 2008, 19:19

cara nao fassa posts duplos ou triplos ok?
faça um novo topico para a pergunta invez disso ok??

olha uma ideia para fazer isso da rampa é:
vc faz o objeto da rampa,
dai vc poe no player:
colisao com a rampa:
y+=1

move_contact
(esqueci o comando desse mas usa o move contact depois.)

assim se ele colidir com a rampa vai ir mais para baixo e jogado para fora dela, dai ele vai cair dinovo com a gravidade, e continua assim ateh cair no final.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por nightlynx em Qui 13 Nov 2008, 19:29

Vlww!
foi malz pelo post, mas eh q como tbm era uma dúvida sobre códigos... preferi postar nesse topico msm, mas tah blz !!
vou evitar posts multiplos !!

mas sobre a colisão:
eu coloquei no char:
Evento Colisão com a plataforma:
Código:
y += 1;
move_contact_solid(direction,8);

mas não funcionou... ao invé disso ele ficou travado, e além disso eu preciso impedir o jogador de voltar pela plataforma, e desse jeito eu poderia pular e voltar, por isso eu disse que teria que ser "automático".

_______
Afinal: crio outro tópico pra minha dúvida ou continuo aki mesmo ?!??!? confused

nightlynx

Número de Mensagens : 9
Idade : 27
Data de inscrição : 13/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por Convidad em Qui 13 Nov 2008, 19:42

cadê o novo tópico???... assim a gente acaba respondendo aqui mesmo e vira bagunça!

...sobre o player não poder saltar/etc. quando estiver sobre a rampa vc pode usar uma variável que indica se ele está sobre ela ou não...

...então nos eventos de controle do player vc checa se a variável é verdadeira ou falsa, se for falsa (não está na rampa) a ação é executada, do contrário nada acontece ao pressionar a tecla/etc. =]

flw

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por nightlynx em Qui 13 Nov 2008, 19:44

fmanna escreveu:cadê o novo tópico???... assim a gente acaba respondendo aqui mesmo e vira bagunça!

vou testar isso q vc falou mais tarde, se funcionar eu paro por aki, se nao funcionar eu crio outro tópico dpois !

Vlww !

nightlynx

Número de Mensagens : 9
Idade : 27
Data de inscrição : 13/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: ajuda com codigo

Mensagem por Conteúdo patrocinado Hoje à(s) 10:01


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