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

Nenhum

Ver toda a lista


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

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

Erro em codigo de inimigo

em Qui 29 Set 2011, 23:35
É o seguinte eu tenho o seguinte código em um inimigo:

Código:

 if (distance_to_object(hero_right_obj) < 80)
 { sprite_index = manfire_ataqR
 }

o problema é que em vez dele mudar seu sprite para o "manfire_ataqR" ele muda para outro personagem totalmente diferente.... o que tem de errado aqui ? alguem me ajuda ?? :SS
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 26/09/2010
Número de Mensagens : 270
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Qui 29 Set 2011, 23:54
Verifique o nome da sprite no código, e da sprite que você quer usar talvez seja o nome trocado, não se esqueça que o game maker distingue maiúsculas de minusculas, se não for isso não tem como saber porque esse código que você passou não tem nada de errado só se for em outro pedaço de código.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 24/11/2009
Número de Mensagens : 803
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Sex 30 Set 2011, 04:19
O GM também tem um certo conflito entre sprites e objetos, se vc colocar manfire_ataqR numa sprite e tambem manfire_ataqR em um objeto ele vai entrar em conflito! Recomendo a você a renomear todas as sprites para
spr_...manfire_ataqR e os objetos para obj_...manfire_ataqR ai ele nunca entrará em conflito! ;D
avatar
Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Sex 30 Set 2011, 08:02
prefiro usar o draw para escolher as sprites.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Sex 30 Set 2011, 10:05
Debugue, sempre debugue. Caso você não saiba o que é debugar (ou "tirar os bugs"), é rodar o jogo usando o "play" vermelho ao invés do verde (antes de gerar o executável, claro). Quando você faz isso, aparece uma janelinha que te informa um monte de coisas que estão acontecendo durante o jogo e você não pode ver porque... bom, porque você não é o computador.
Enfim, na janela de debug, tem um símbolo de "+". Clique nele e você terá acesso a qualquer variável do jogo. Lembre-se que variável tem um sentido muito amplo. ids são variáveis. E tudo tem id. Inclusive as sprites. Já viu onde eu quero chegar?

Clique no "+" e digite o nome da sprite que você quer (manfire_ataqR). Esse é o sprite que DEVERIA estar no inimigo, certo? Ok, isso é só pra saber o número dele.
Dê uma pausa no jogo. A janela de debug te dá essa opção, o símbolo é o "||", de pause em video-cassete DVD player mesmo.
Agora, passe o mouse sobre o inimigo. Lá embaixo da janelinha de debug aparece um texto, tipo "mouse_id=100358". Não tenho certeza de como é escrito, mas o que importa é que ele mostra a id da instância sob o mouse. Anote esse número.
Agora, escreva esse número entre parênteses, coloque um ponto e escreva o número da variável que você quer ver. Exemplo: (100358).sprite_index
Se o número for igual ao da sprite manfire_ataqR, provavelmente o que está acontecendo é o que o Soul Limaloko sugeriu e há um conflito de variáveis (duas ou mais variáveis com o mesmo nome). Pra corrigir, o Soul Limaloko já te explicou como faz. Se os números forem diferentes, é porque existe algum erro no código e o que está definindo o sprite não é a linha que você acredita que seja. Pode ser um código depois dela, pode ser um engano na condição, pode ser até um código de outra instância que se imponha sobre essa em questão, que você esqueceu que existe.

Se você gostou de debugar, ainda tem a opção de gravar num arquivo as variáveis que você está observando, pra voltar pra tela de edição, corrigir e debugar de novo sem ter que escrever uma-por-uma. Vé em "watch-save" que você pode gravar um .txt com o nome dessas variáveis (e pode até editá-lo manualmente, depois). Pra voltar com as variáveis numa segunda debugada, vá em "watch-load".

Nossa, é muita informação. Quando comecei a escrever, não achei que seria tanta. Acho que vou fazer um tutorial sobre debug...
avatar
Data de inscrição : 02/09/2011
Número de Mensagens : 36
Insígnias de JAM :

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

Re: Erro em codigo de inimigo

em Qua 12 Out 2011, 21:49
Muito obrigado, mas como eu faço no código ?
eu tento colocar o numero 102133 e como o saim disse " (102133).sprite_index no step mas nao funciona... como eu faço ???
fica assim o codigo..

Código:


 if (distance_to_object(hero_right_obj) < 80)
 { (102133).sprite_index
 }
avatar
Data de inscrição : 08/10/2011
Número de Mensagens : 70
Insígnias de JAM :

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

Re: Erro em codigo de inimigo

em Qua 12 Out 2011, 22:06
@taninhabaixinha escreveu:Muito obrigado, mas como eu faço no código ?
eu tento colocar o numero 102133 e como o saim disse " (102133).sprite_index no step mas nao funciona... como eu faço ???
fica assim o codigo..

Código:


 if (distance_to_object(hero_right_obj) < 80)
 { (102133).sprite_index
 }

vc criou a variavel no create? esse numero é uma variavel, que deve ser definida no create,
avatar
Data de inscrição : 02/09/2011
Número de Mensagens : 36
Insígnias de JAM :

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

Re: Erro em codigo de inimigo

em Qua 12 Out 2011, 22:16
Aconteceu esse erro :

Código:


___________________________________________
FATAL ERROR in
action number 3
of Create Event
for object dogfire_left:

COMPILATION ERROR in code action
Error in code at line 3:
    }
    ^
at position 3: Assignment operator expected.

acho que tem erro na formulação do código... alguem pode me ajudar ??
avatar
Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Qua 12 Out 2011, 22:30
vá no objeto 'dogfire_left', evento 'create' e cole o codigo aqui.
avatar
Data de inscrição : 02/09/2011
Número de Mensagens : 36
Insígnias de JAM :

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

Re: Erro em codigo de inimigo

em Qua 12 Out 2011, 22:40
É esse o código:


Código:

 if (distance_to_object(hero_right_obj) < 80)
 { (102133).sprite_index
 }
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Qua 12 Out 2011, 23:34
Não, peraí, não foi nada disso que eu disse!
Eu disse pra você debugar, ou seja, verificar o valor da variável. Não definí-la. Bom, como eu comentei, criei um tutorial sobre debug, tem um link na minha assinatura.
Seu código original estava ok, portanto alguma coisa fora dele deve estar errada.
Eu suspeito que o problema seja aquele que o Soul Limaloko disse: existem duas sprites com o mesmo nome. Pra ter certeza, só debugando.
Então, verifique o valor do índice da sprite "manfire_ataqR" e o valor da sprite do objeto. Se forem o mesmo valor, o código faz o que se espera e o problema está, provavelmente, no nome da sprite. Se forem valores diferentes, aí tem algo errado com o código mesmo.
avatar
Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Qui 13 Out 2011, 08:56
@taninhabaixinha escreveu:É esse o código:


Código:

 if (distance_to_object(hero_right_obj) < 80)
 { (102133).sprite_index
 }

esse codigo nao faz nada por isso tá dando erro.

o que voce quer fazer com esse codigo?
avatar
Data de inscrição : 02/09/2011
Número de Mensagens : 36
Insígnias de JAM :

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

Re: Erro em codigo de inimigo

em Qui 13 Out 2011, 23:25
eu queria que a chegar menos de 80, mudasse para uma especifica sprite, que era a do código 102133.... só isso
avatar
Data de inscrição : 10/05/2011
Número de Mensagens : 92
Insígnias de JAM :

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

Re: Erro em codigo de inimigo

em Qui 13 Out 2011, 23:45
Tente este código:
Código:
if (distance_to_object(hero_right_obj) < 80)
{
    sprite_index=102133
}
Eu só adaptei o seu código, não sei se vai funcionar.
avatar
Data de inscrição : 02/09/2011
Número de Mensagens : 36
Insígnias de JAM :

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

Re: Erro em codigo de inimigo

em Sex 14 Out 2011, 00:16
nao deu certo o código e o id estao certos, mas na hora do objeto mudar ele nao aparece... apenas some, o que pode estar errado aqui ?? :SSS
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Sex 14 Out 2011, 00:24
Não pode estar certo. Os índices das sprites começam em 0. Seu jogo não pode ter 102133 sprites.
Mais uma vez, sugiro voltar pro seu primeiro código e debugar, ver qual o índice da sprite que você quer e qual o índice da sprite que você está aparecendo.
avatar
Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

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

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

Re: Erro em codigo de inimigo

em Sex 14 Out 2011, 09:08
no evento ondraw do objeto que voce quer mudar, use:
Código:

if (distance_to_object(hero_right_obj) < 80)
{
draw_sprite(sprite1,image_index,x,y);
}
else
{
draw_sprite(sprite2,image_index,x,y);
}
Conteúdo patrocinado

Re: Erro em codigo de inimigo

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