[Resolvido] Usando logica pra morte do obj_player?

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

Resolvido [Resolvido] Usando logica pra morte do obj_player?

Mensagem por AlexBosquin em Ter 31 Jul 2012, 18:26

Galera e o seguinte como faço pra quando o obj_player estive no sprite_index = spr_player_dead ele cancelar todas as variaveis dele so as dele e tbm nao deixar que ele se mova enquanto estiver no sprite index citado acima,

lembrando que pra movimentar o player eu uso place_free(x,y)

e tipo nada de instance_change pra outro objeto!

Topico resolvido OBRIGADO MOISESBR cheers


Última edição por AlexBosquin em Qui 02 Ago 2012, 18:41, editado 2 vez(es)

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por henriquebr em Ter 31 Jul 2012, 18:49

use globais para as var locais, coloque-as entre chaves e va montando os codigos entre elas.

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por AlexBosquin em Ter 31 Jul 2012, 18:55

creio eu que usar globais apenas atraplharia pois seria mais facil eu deixar todas as vars = false

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por GabrielXavier em Ter 31 Jul 2012, 21:38

Faz o seguinte usa uma condicao(usando sprite_index) para os movimentos do player, por exemplo no step do player voce coloca

if sprite_index != spr_player_dead /// se a sprite nao for spr_player_dead
{as açoes do player que voce quiser}/// ele execulta as açoes


Não testei o codigo apenas fiz esta pequena logica aqui quando li o seu topico ve ai se funciona...
Flws Te++

GabrielXavier

Ranking : Nota A
Número de Mensagens : 359
Data de inscrição : 25/02/2012
Notas recebidas : A
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por saim em Qua 01 Ago 2012, 08:39

Você pode, também, colocar a sprite spr_player_dead num objeto à parte. Esse objeto é criado no momento em que o player morre e é destruído ao terminar a animação. Ao ser destruído, ele recomeça a fase, tira uma vida, o escambau. O objeto não responde aos comandos do jogador.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por AlexBosquin em Qua 01 Ago 2012, 11:00

Faz o seguinte usa uma condicao(usando sprite_index) para os movimentos do player, por exemplo no step do player voce coloca

if sprite_index != spr_player_dead /// se a sprite nao for spr_player_dead
{as açoes do player que voce quiser}/// ele execulta as açoes


Não testei o codigo apenas fiz esta pequena logica aqui quando li o seu topico ve ai se funciona...
Flws Te++

Cara pq eu usarie um if not se eu quero uma ação pra qunado ele morrer e nao pra qunado ele nao morrer

Você pode, também, colocar a sprite spr_player_dead num objeto à parte. Esse objeto é criado no momento em que o player morre e é destruído ao terminar a animação. Ao ser destruído, ele recomeça a fase, tira uma vida, o escambau. O objeto não responde aos comandos do jogador

Cara vc nao leu ne pq eu disse que nao dava pra por um obj a parte pq o inimigo usa um codigo de me perseguir e se eu trocar o obj o game maker le como um erro agora se eu soubesse tirar o erro daria sim um obj a parte!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por GabrielXavier em Qua 01 Ago 2012, 11:27

Então faz o seguinte na hora do obj_inimigo seguir o player coloca o codigo:

if instance_exists(obj_player)
{inimigo segue o player}

Flws se não funcionar avisa ae...

GabrielXavier

Ranking : Nota A
Número de Mensagens : 359
Data de inscrição : 25/02/2012
Notas recebidas : A
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por AlexBosquin em Qua 01 Ago 2012, 11:44

Bom EU ja tentei isso num topico anterior mas nao deu certo mas vou testar aki ve se funfa! ... Isso mano testei aki e nao funfou :/

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por GabrielXavier em Qua 01 Ago 2012, 11:49

Não sei como você fez mas esse codigo que te passei do instance_exsts,
você tem que destruir o obj_player e criar o obj_player morto no evento destroy do playe no x e no y do obj_player.
Eu ja tive um problema parecido com o kick word e esse codigo me resolveu o problema...
Tente explicar melhor no topico...
Flws...

GabrielXavier

Ranking : Nota A
Número de Mensagens : 359
Data de inscrição : 25/02/2012
Notas recebidas : A
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por moisesBR em Qua 01 Ago 2012, 12:35

blz disso eu entendo e posso provar: nao lembro quem ensinou aqui, mas creio que foi o chaos(chaos é/era daqui?) ou o proprio saim...(?)
Faço uso de variáveis para indicam em que situação obj está diferentemente desses false/true ou zeros; Se trata de textos(strings) guardados na variável. Declarada no create como "normal"(que quer dizer que tudo está norma ué!) e podendo esta ser modificada a gosto. Costumo chama-las de marcadores, pois não sei como se chama isso ou de outros métodos(bandeiras?). O tuto disso aqui no forum é algo sobre funções por variáveis! Dê uma olhada.
Portanto faça à risca, não exatamente assim, mas adapte!. Se for muuuuuuuito defiliuuuu, flha ki nois botha una exempla!

Create
Código:
situacao="normal"

Steep Onde vc movimenta o player(?):
Código:
if situacao="normal"
begin
//Seus codes de movimentos e tudo normal
else situacao="morto"
end
Ou Colizão Aonde seu player morre (é so exemplo!):
Código:
if life=0
begin
situacao="morto";
instance_change(obj_player_morto,1)//coloque o q quiser;
//ou
sprite_index=spr_player_morto;
image_index=0;
end
Resultado:
os movimentos vão depender se a variável situação estiver = "normal"! Caso contrário, nada a fazer.

Dicas:
pode se usar em qualquer situação tipo;
situacao= "no chão", "pulando" "atirando" etc!!!
Costumo mostrar na tela a situação e manter sobre controle, caso algo dê errado, saberei onde foi.
num evento draw de um obj controle:
with (player) draw_ext(10,10,"Situação",+string(situacao))
É isso.
Bem, não vou colocar "espero ter ajudado" por que é pensando assim que tentamos. Té mais.

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por saim em Qua 01 Ago 2012, 13:56

AlexBosquin escreveu:
Faz o seguinte usa uma condicao(usando sprite_index) para os movimentos do player, por exemplo no step do player voce coloca

if sprite_index != spr_player_dead /// se a sprite nao for spr_player_dead
{as açoes do player que voce quiser}/// ele execulta as açoes


Não testei o codigo apenas fiz esta pequena logica aqui quando li o seu topico ve ai se funciona...
Flws Te++

Cara pq eu usarie um if not se eu quero uma ação pra qunado ele morrer e nao pra qunado ele nao morrer
Não, você quer um monte de ações pra quando ele não morrer e deixar essas ações de lado quando ele morrer. A idéia é boa, só um pouco chata na hora de identar o código. Fora isso, funciona.

AlexBosquin escreveu:
Você pode, também, colocar a sprite spr_player_dead num objeto à parte. Esse objeto é criado no momento em que o player morre e é destruído ao terminar a animação. Ao ser destruído, ele recomeça a fase, tira uma vida, o escambau. O objeto não responde aos comandos do jogador

Cara vc nao leu ne pq eu disse que nao dava pra por um obj a parte pq o inimigo usa um codigo de me perseguir e se eu trocar o obj o game maker le como um erro agora se eu soubesse tirar o erro daria sim um obj a parte!
De fato, pulei essa parte. Que tipo de erro acontece? Definir o parent do novo objeto como sendo o objeto do personagem, sem deixar ele responder aos comandos, não funcionaria?

moisesBR escreveu:Faço uso de variáveis para indicam em que situação obj está diferentemente desses false/true ou zeros; Se trata de textos(strings) guardados na variável. Declarada no create como "normal"(que quer dizer que tudo está norma ué!) e podendo esta ser modificada a gosto. Costumo chama-las de marcadores, pois não sei como se chama isso ou de outros métodos(bandeiras?). O tuto disso aqui no forum é algo sobre funções por variáveis! Dê uma olhada.
O que você está fazendo é uma máquina de estados finitos e essas variáveis são chamadas de "estados" (states). Eu copiei um tutorial a respeito e traduzi aqui no fórum (link na assinatura), mas a idéia não é minha. Existe muita informação a respeito pela internet afora.
Na verdade, os estados não precisam ser strings, podem ser valores numéricos armazenados em variáveis mesmo, tipo:
Código:
normal = 0; pulando = 1; voando = 2; morrendo = 3; etc = 4;
estado_atual = normal;
Isso economiza um pouco de memória, porque valores numéricos são mais fáceis de lidar do que strings.
Eu não tinha mencionado a MEF porque a pergunta me pareceu bem básica e a MEF é um pouquinho avançada, mas é a melhor solução, sem dúvida.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por AlexBosquin em Qua 01 Ago 2012, 19:38

Bom acho que como vcs podem ver ver o problema e o seguinte o obj_inimigo depende do obj_player pq o obj_inimigo usa esse codigo:

Código:
if obj_player.x > self.x then image_xscale = -1
if obj_player.x < self.x then image_xscale = 1

ai quando o obj_player e mudado para obj_player_dead da erro no obj_inimigo mesmo que eu use uma variavel e que esa variavel mude dependo do qual o obj_player estiver mesmo assim aparece um erro no game maker mas se eu clico em ignore tudo funciona normalmente se desse pra remover esse erro ai sim daria certo isso que eu acho estranho.

ja ate tentei fazer que quando ficasse obj_player_dead o obj_inimigo tbm ficasse obj_inimigo_dead pra nao dar erro e tbm nao funfou!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por moisesBR em Qui 02 Ago 2012, 15:08

Há! bota um else alguma coisa ex:
Código:
if obj_player.x > self.x then image_xscale = -1
  if obj_player.x < self.x then image_xscale = 1
      else
          //code parando isso evitando o erro!
???

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por AlexBosquin em Qui 02 Ago 2012, 15:27

eita vou testar aki nunca tinha pensado nisso KKKKKKKKKK! MANOOOOOOOOOO DEU CERTOOOOOOOOOOOOOO NOSSSSSSSSSSSS

MoisesBR cara vlw mesmo mano eu quase desisti desse projeto porcausa desse problema eu puz assim depois do else:


Código:

if instance_exists(obj_player) {
if obj_player.x > self.x then image_xscale = -1
  if obj_player.x < self.x then image_xscale = 1
}
      else
          instance_change(obj_inimigo_die,true)

ai nun deu certo ne mas lembre que tinha outro code em outro lugar que levava o obj_player.x ai fiz esse mesmo processo nele e deu muito certo cara! vlw mesmo

TOPICO RESOLVIDO

MoisesBR seus creditos estarao no jogo Nun sei nem como agradeçer cara!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Usando logica pra morte do obj_player?

Mensagem por Conteúdo patrocinado Hoje à(s) 11:51


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