Conectar-se
Quem está conectado
26 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 24 Visitantes

MrRafael, rafaelviodres1

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

[Resolvido] Usando logica pra morte do obj_player?

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)
avatar
Ranking : Nota D
Notas recebidas : D+B+D
Data de inscrição : 03/10/2011
Número de Mensagens : 421
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

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

em Ter 31 Jul 2012, 18:49
use globais para as var locais, coloque-as entre chaves e va montando os codigos entre elas.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

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

em Ter 31 Jul 2012, 18:55
creio eu que usar globais apenas atraplharia pois seria mais facil eu deixar todas as vars = false
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

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

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++
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

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

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

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.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

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

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!
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

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

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...
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

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

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 :/
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

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

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...
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

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

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.
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

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

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

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.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

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

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!
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

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

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!
???
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 10/07/2012
Número de Mensagens : 621
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.craftstudios.com.br

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

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!
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