Entrar
Últimos assuntos
» Preciso de ajudapor AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
[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 : 40
Número de Mensagens : 399
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 : 40
Número de Mensagens : 399
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 : 40
Número de Mensagens : 399
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!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|