Entrar
Últimos assuntos
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentropor Rukasu777 Ontem à(s) 18:10
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por 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
» 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
View e inimigos parados
5 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
View e inimigos parados
Peço desculpa caso essa pergunta tenha sido feita, eu quero fazer com que o inimigo somente se movimente se estiver na view, se estiver fora ele fica parado.
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Olá, eu ia sugerir que você usasse o evento "outside of view", mas ia complicar ainda mais sua situação, então vou explicar outra forma...
Primeiro, vamos criar uma variável, chamemos-a de "limite" e coloquemos ela como false, ficando assim o create do inimigo:
Dentro do step, coloque isto:
Espero ter ajuda...(algumas coisas podem estar erradas, sem tempo para testar).
Primeiro, vamos criar uma variável, chamemos-a de "limite" e coloquemos ela como false, ficando assim o create do inimigo:
- Código:
limite = false;
Dentro do step, coloque isto:
- Código:
if (x<view_xview[0]) || (x>view_wview[0])//se o x deste objeto for maior que o x final da view0 ou for menor que x inicial da view0(acho, pode ser que eu esteja trocando os sinais)
{
if (y<view_yview[0]) || (y>view_hview[0])// mesma coisa que acima, mas mudando para o eixo y.
{
limite = true;
}
}
else
{
limite=false;
Espero ter ajuda...(algumas coisas podem estar erradas, sem tempo para testar).
Última edição por AxeInLine em Seg 18 Ago 2014, 17:21, editado 2 vez(es) (Motivo da edição : errei d= (2))
AxeInLine- Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Desculpa ser chato de novo, mas não entendi esse if.
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Qual if? Este do código que eu passei ou a de que estou pedindo aqui?:
Entendeu agora? Dai aonde eu coloquei "//ação" você muda pela ação que aconteceria normalmente dentro da view...
Caso for o outro código por favor me diga...
Se for esta de cima, era isso aqui que eu queria dizer:AxeInLine escreveu:Agora é só colocar um if antes das ações pedindo para que limite seja false, entendeu?
- Código:
if (limite = false)
{
//ação
}
Entendeu agora? Dai aonde eu coloquei "//ação" você muda pela ação que aconteceria normalmente dentro da view...
Caso for o outro código por favor me diga...
AxeInLine- Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
beleza valeu cara.
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
um pequeno erro no código, é que ao invez de view_wview, acredito que deve-se usar view_xview+view_wview, do geito que esta, nao vai desativar/ativar sertos objetos...
Re: View e inimigos parados
Ontem passei o o dia todo tentando arrumar esse problema, não deu certo as dicas, alguém poderia me passar mais informações?
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Bom dia Mestre Rá,
Ainda estou tentando relembrar os códigos mas vou tentar te ajudar de uma maneira que acho que irá funcionar.
Você poderia fazer o seguinte:
Faça o teste:
Dei uma testada rápida e deu certo aqui, por favor me de uma resposta assim que puder.
Claro que nesse caso se aplicou em todos os gumbas do Level hahahaha mas a intenção é a que vale
Ainda estou tentando relembrar os códigos mas vou tentar te ajudar de uma maneira que acho que irá funcionar.
Você poderia fazer o seguinte:
Faça o teste:
- Código:
if obj_player.x+view_wview/2 >= obj_enemy.x
{
"ações a serem executadas"
}
}
Dei uma testada rápida e deu certo aqui, por favor me de uma resposta assim que puder.
- Código:
if obj_mario.x+view_wview/2 >= obj_gumba_over.x
{
obj_gumba_over.hspeed=-1
}
Claro que nesse caso se aplicou em todos os gumbas do Level hahahaha mas a intenção é a que vale
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Boa tarde
Não entendi o porque de não ter funcionado, acabei de fazer um teste agora (ok ok, modifique algumas coisas...)
Bem, vou deixar o link do .gmz para você ver como eu estava dizendo que era para fazer (para abrir o arquivo, abra o gm:s e vá na aba import e procura o arquivo).
Link.
Não entendi o porque de não ter funcionado, acabei de fazer um teste agora (ok ok, modifique algumas coisas...)
Bem, vou deixar o link do .gmz para você ver como eu estava dizendo que era para fazer (para abrir o arquivo, abra o gm:s e vá na aba import e procura o arquivo).
Link.
AxeInLine- Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Eles continuam andando cara, testei sua dica tanto no step como em outside view, e mesmo assim eles andam.
AxeInLine eu também não sei direito, fiz exatamente como você falou, e mesmo assim eles continuavam andando mesmo fora da view, eu tinha feito uma modificações também, mas o resultado foi que eles ficavam imóveis mesmo estando na view.
AxeInLine eu também não sei direito, fiz exatamente como você falou, e mesmo assim eles continuavam andando mesmo fora da view, eu tinha feito uma modificações também, mas o resultado foi que eles ficavam imóveis mesmo estando na view.
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Mestre Rá,
Está na hora de você postar seu código, bem como você está fazendo.
Assim poderemos ver onde estão os erros e o que fazer para concertá-los.
Está na hora de você postar seu código, bem como você está fazendo.
Assim poderemos ver onde estão os erros e o que fazer para concertá-los.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Vou pegar um dos monstros mais simples aqui.
No create tem:
- o move fixed para direita com speed 3;
- e um script com image_speed = 0.2.
No step tem:
- if place_free(x,y+5){gravity = .5} else {gravity = 0};
- test variable, com variable: hspeed, value: 0 e operation:large than;
- change sprite com o sprite do monstro para direita;
- else;
- outra change sprite com o sprite do monstro para esquerda.
No create tem:
- o move fixed para direita com speed 3;
- e um script com image_speed = 0.2.
No step tem:
- if place_free(x,y+5){gravity = .5} else {gravity = 0};
- test variable, com variable: hspeed, value: 0 e operation:large than;
- change sprite com o sprite do monstro para direita;
- else;
- outra change sprite com o sprite do monstro para esquerda.
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Bem eu acho que ele tem q entender o que está fazendo.
Mestre rá, você sabe os conceitos básicos de algorítimo?(if-else, variaveis)
Se não souber podemos ajudar primeiro a você saber o que é, depois é só usar a lógica.
Seu problema é bem fácil de resolver não entre em pânico .
AxeInLine seu código está errado '-'
Veja, se ele estiver dentro de xview mas estiver fora de yview? o else so vai funcionar no primeiro if, então aconselho a usar and(&&).
ex :
Mestre rá, você sabe os conceitos básicos de algorítimo?(if-else, variaveis)
Se não souber podemos ajudar primeiro a você saber o que é, depois é só usar a lógica.
Seu problema é bem fácil de resolver não entre em pânico .
AxeInLine seu código está errado '-'
Veja, se ele estiver dentro de xview mas estiver fora de yview? o else so vai funcionar no primeiro if, então aconselho a usar and(&&).
ex :
- Código:
if (x<=view_xview[0]) || (x>=view_wview[0]+view_xview[0])&&(y<=view_yview[0]) || (y>=view_hview[0]+view_yview[0]){
limite = true;
}else {
limite = false
}
Rodrigo Santiago- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: View e inimigos parados
No create tem:
- o move fixed para direita com speed 3;
- e um script com image_speed = 0.2.
Está aqui o por que ele continua se movendo....sempre que ele for criado ele vai iniciar o movimento.
Tira isso e ele se movera somente quando ele estiver na posição que te passei antes.
Mas lembre de adequar o meu código ao seu.
- o move fixed para direita com speed 3;
- e um script com image_speed = 0.2.
Está aqui o por que ele continua se movendo....sempre que ele for criado ele vai iniciar o movimento.
Tira isso e ele se movera somente quando ele estiver na posição que te passei antes.
Mas lembre de adequar o meu código ao seu.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Rodrigo Santiago eu tenho uma pequena noção sobre if-else
Seria bom ler mais sobre esses assuntos se tiverem algum tutorial sobre esse assunto ficaria muito agradecido.
Mateus O de Andrade
Fiz o que me pediu, e o monstro ficou parado. Será que fiz alguma coisa errada?
Esqueci que tinha mais 1 script, colisão com o chão
if vspeed > 0 and not place_free(x,y + vspeed){
move_contact_solid(direction,vspeed)
}
vspeed = 0
Seria bom ler mais sobre esses assuntos se tiverem algum tutorial sobre esse assunto ficaria muito agradecido.
Mateus O de Andrade
Fiz o que me pediu, e o monstro ficou parado. Será que fiz alguma coisa errada?
Esqueci que tinha mais 1 script, colisão com o chão
if vspeed > 0 and not place_free(x,y + vspeed){
move_contact_solid(direction,vspeed)
}
vspeed = 0
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Fasssa assim Mestre Rá,
Crie um inimigo sem nenhum código e no evento STEP coloque o meu código alterando apenas os nomes dos objetos que você usou para sue jogo.
if NOME DO PLAYERS.x+view_wview/2 >= NOME DO INIMIGO.x
{
NOME DO INIMIGO.hspeed=-1
}
Agora é só testar esse novo inimigo.
E certifique-se que sua view está configurada que deve funcionar.
Me avise se der certo.
Crie um inimigo sem nenhum código e no evento STEP coloque o meu código alterando apenas os nomes dos objetos que você usou para sue jogo.
if NOME DO PLAYERS.x+view_wview/2 >= NOME DO INIMIGO.x
{
NOME DO INIMIGO.hspeed=-1
}
Agora é só testar esse novo inimigo.
E certifique-se que sua view está configurada que deve funcionar.
Me avise se der certo.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Deu certo. Mas quando criei um evento colisão com a parede e nele coloquei a ação reverse horizontal, o inimigo ao colidir com a parede ele fica parado. Talvez seja isso que fez com que ele ficasse parado.
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
É por que ele vai estar SEMPRE tentando ir na direção que você indicou (vspeed-1) pois esse código está em step. Tem que adaptar esta ação ao seu código. Vou tentar aqui, mas ainda não sei como.
Assim que tiver uma ideia eu posto.
Assim que tiver uma ideia eu posto.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Beleza cara.
Mestre Rá- Data de inscrição : 26/11/2011
Reputação : 1
Número de Mensagens : 106
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: View e inimigos parados
Boas novas meu amigo, resolvi o problema.
Faça assim:
Primeiramente em CREATE:
Crie uma variável active e coloque como true
em STEP
if PLAYER+view_wview/2 >= INIMIGO.x and active=true
{
INIMIGO.hspeed=-1
active=false
}
Ai pode colocar ele para reverter a hspeed normalmente que agora sim deve dar certo.
Se ainda sim não der certo vamos tentar resolver pra você.
Ainda, se alguém souber como fazer isso de maneira mais fácil, por favor compartilhe conosco, vou adorar saber uma outra maneira.
Abraços pessoal.
Faça assim:
Primeiramente em CREATE:
Crie uma variável active e coloque como true
em STEP
if PLAYER+view_wview/2 >= INIMIGO.x and active=true
{
INIMIGO.hspeed=-1
active=false
}
Ai pode colocar ele para reverter a hspeed normalmente que agora sim deve dar certo.
Se ainda sim não der certo vamos tentar resolver pra você.
Ainda, se alguém souber como fazer isso de maneira mais fácil, por favor compartilhe conosco, vou adorar saber uma outra maneira.
Abraços pessoal.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [Ajuda] Como matar inimigos na view
» Como travar uma view para enfrentar inimigos?
» IA de inimigos
» [RESOLVIDO]Declarar uma array de inimigos e enche-la com dados dos inimigos
» IA Para Inimigos, Vidas, Especiais e Inimigos executando movimentos.
» Como travar uma view para enfrentar inimigos?
» IA de inimigos
» [RESOLVIDO]Declarar uma array de inimigos e enche-la com dados dos inimigos
» IA Para Inimigos, Vidas, Especiais e Inimigos executando movimentos.
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|