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] Usando logica pra morte do obj_player?
5 participantes
Página 1 de 1
[Resolvido] Usando logica pra morte do obj_player?
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!
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
Última edição por AlexBosquin em Qui 02 Ago 2012, 18:41, editado 2 vez(es)
Re: [Resolvido] Usando logica pra morte do obj_player?
use globais para as var locais, coloque-as entre chaves e va montando os codigos entre elas.
henriquebr- Games Ranking :
Notas recebidas : D+B+D
Data de inscrição : 03/10/2011
Reputação : 1
Número de Mensagens : 421
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido] Usando logica pra morte do obj_player?
creio eu que usar globais apenas atraplharia pois seria mais facil eu deixar todas as vars = false
Re: [Resolvido] Usando logica pra morte do obj_player?
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++
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- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: [Resolvido] Usando logica pra morte do obj_player?
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- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [Resolvido] Usando logica pra morte do obj_player?
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!
Re: [Resolvido] Usando logica pra morte do obj_player?
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...
if instance_exists(obj_player)
{inimigo segue o player}
Flws se não funcionar avisa ae...
GabrielXavier- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: [Resolvido] Usando logica pra morte do obj_player?
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 :/
Re: [Resolvido] Usando logica pra morte do obj_player?
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...
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- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: [Resolvido] Usando logica pra morte do obj_player?
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
Steep Onde vc movimenta o player(?):
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.
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
- 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
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.
Re: [Resolvido] Usando logica pra morte do obj_player?
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: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
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?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!
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.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.
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;
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- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [Resolvido] Usando logica pra morte do obj_player?
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:
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!
- 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!
Re: [Resolvido] Usando logica pra morte do obj_player?
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!
Re: [Resolvido] Usando logica pra morte do obj_player?
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:
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!
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!
Tópicos semelhantes
» [Resolvido] Lógica de um FPS?
» [resolvido] Morte do inimigo
» [Resolvido][Dúvida]Lógica & Colisão
» [RESOLVIDO] Possível problema com lógica
» [resolvido] problema com lógica de wrap
» [resolvido] Morte do inimigo
» [Resolvido][Dúvida]Lógica & Colisão
» [RESOLVIDO] Possível problema com lógica
» [resolvido] problema com lógica de wrap
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos