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
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?
» Inimigos
» IA Para Inimigos, Vidas, Especiais e Inimigos executando movimentos.
» [RESOLVIDO]Declarar uma array de inimigos e enche-la com dados dos inimigos
» Como travar uma view para enfrentar inimigos?
» Inimigos
» IA Para Inimigos, Vidas, Especiais e Inimigos executando movimentos.
» [RESOLVIDO]Declarar uma array de inimigos e enche-la com dados dos inimigos
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos