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
[ajuda]inimigos iguais com ações diferentes
+6
Hatzo enkiri
Mundo Game Maker
saim
GameMakerTutoriais
Black Studio
KevinBandicoot
10 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
[ajuda]inimigos iguais com ações diferentes
Boa Tarde Pessoal,
Estou desenvolvendo um sistema, mas "encascatei" com algo que estou tentando resolver a algum tempo.
Esse sistema irá compor um jogo. Ele consiste em criar inimigos randômicos a partir de um único objeto. Até aí tudo bem. Porém, necessito que quando o mouse está em cima de um inimigo qualquer e determinada tecla é pressionada, ele execute uma ação, e assim consecutivamente com os outros.
Arrumei algumas soluções, todas elas usando o id de cada instância criada. Eu capturo o id quando passo o mouse por cima e o armazeno em uma variável, nessa variável eu configuro as ações e tudo mais...
O objetivo é que cada inimigo execute a sua ação independente dos outros.
Ex: Se eu mando um parar por 10 segundos, os outros continuam andando. Se eu mandar outro parar por 10 segundos, o primeiro continua a andar depois dos seus 10 segundos...
Sempre quando penso que vai dar certo, eu acabo me confundindo em algo...
Espero que tenham me entendido e possam me ajudar^^
Estou desenvolvendo um sistema, mas "encascatei" com algo que estou tentando resolver a algum tempo.
Esse sistema irá compor um jogo. Ele consiste em criar inimigos randômicos a partir de um único objeto. Até aí tudo bem. Porém, necessito que quando o mouse está em cima de um inimigo qualquer e determinada tecla é pressionada, ele execute uma ação, e assim consecutivamente com os outros.
Arrumei algumas soluções, todas elas usando o id de cada instância criada. Eu capturo o id quando passo o mouse por cima e o armazeno em uma variável, nessa variável eu configuro as ações e tudo mais...
O objetivo é que cada inimigo execute a sua ação independente dos outros.
Ex: Se eu mando um parar por 10 segundos, os outros continuam andando. Se eu mandar outro parar por 10 segundos, o primeiro continua a andar depois dos seus 10 segundos...
Sempre quando penso que vai dar certo, eu acabo me confundindo em algo...
Espero que tenham me entendido e possam me ajudar^^
Re: [ajuda]inimigos iguais com ações diferentes
Boa tarde.
Pelo que eu entendi voce pode fazer o seguinte :
Criar e programar uma lista com todas as ações e depois da room, voce Clica com o botão direito+CTRL no inimigo, e coloca um código só para aquele inimigo, indicando a ação e ser usada, por exemplo :
E dai voce pode tambem depois quando quiser para colocar, Objeto com a ID ***** executar acao=****
Entendeu?
Pelo que eu entendi voce pode fazer o seguinte :
Criar e programar uma lista com todas as ações e depois da room, voce Clica com o botão direito+CTRL no inimigo, e coloca um código só para aquele inimigo, indicando a ação e ser usada, por exemplo :
- Código:
acao=4
E dai voce pode tambem depois quando quiser para colocar, Objeto com a ID ***** executar acao=****
Entendeu?
Black Studio- Games Ranking :
Notas recebidas : C + C
Data de inscrição : 19/10/2011
Reputação : 9
Número de Mensagens : 337
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: [ajuda]inimigos iguais com ações diferentes
Na verdade os inimigos são criados randomicamente. Eu queria que quando passasse o mouse por cima de um deles e apertasse uma determinada tecla, de acordo com o seu id executasse uma ação somente nesse.
As ações também não podem interferir nas dos outros inimigos.
Obrigado por tentar ajudar^^
As ações também não podem interferir nas dos outros inimigos.
Obrigado por tentar ajudar^^
Re: [ajuda]inimigos iguais com ações diferentes
Tenta usar o evento Mouse Enter. Quando o mouse passar por sobre o objeto e a tecla estiver pressionada, você guarda o id dele em uma variável global, ou então executa a ação direto por ali mesmo.
Por exemplo, no evento Mouse Enter:
Quando quiser que esse objeto faça alguma coisa, você pode tentar usar um with:
Por exemplo, no evento Mouse Enter:
- Código:
if keyboard_check(tecla) global.quem = id else global.quem = noone;
Quando quiser que esse objeto faça alguma coisa, você pode tentar usar um with:
- Código:
with (global.quem)
{
// Ações!
}
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ajuda]inimigos iguais com ações diferentes
Quando quero fazer esse tipo de coisa, evito usar o mouse_enter, porque ele só funciona se o mouse se mexer. Se o inimigo estiver se movimentando em direção ao mouse e o mouse estiver parado, o evento não acontece.
Pra contornar o problema, eu coloco no inimigo:
Pra contornar o problema, eu coloco no inimigo:
- Código:
if (instance_position(mouse_x, mouse_y, id) == id){
//o mouse está sobre o inimigo
}
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: [ajuda]inimigos iguais com ações diferentes
Não é mais facil fazer 2 inimigos de mesmo sprite, mas com ação diferente?se não consegue é facil, cria 2 objetos, um com o nome obj_inimigo1 e o outro obj_inimigo2, ai você faz que cada um faça uma coisa diferente.
Mundo Game Maker- Data de inscrição : 09/01/2012
Reputação : 1
Número de Mensagens : 149
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ajuda]inimigos iguais com ações diferentes
Ninja8086, sim, estava usando o mouse_enter e o with também, mas estava dando esse problema que o saim falou. De qualquer modo, essa de noone no else eu nunca usei, eu estava "zerando" a variável global depois. Ajudará um pouco. Tenho uma dúvida. Se várias ações irão ocorrer ao mesmo tempo, teria que ser mais de uma variável para salvar o id?
Pensei em algo assim:
capturo o id do primeira instância e salvo por exemplo na global.a
capturo o id do segunda instância e salvo por exemplo na global.b
e assim vai até um número suficiente
digamos que sejam 5 variáveis (a,b,c,d,e), a primeira variável de acordo com um alarm zerará em 10 segundos, dae ela poderá ser usada por outra instância...
Será que algo assim permite que as ações ocorram ao mesmo tempo sem interferir em nenhuma instância?
saim, boa idéia, tentarei substituir por algo similar e depois reporto se deu certo.
Mundo Game Maker, na verdade serão várias ações, dae seria inviável criar vários objetos inimigos, sendo que uma hora ou outra esse número iria crescer, teria que ficar substituindo objetos, sem contar que iria colaborar para o peso do jogo. Preciso de algo mais automático possível.
Obrigado a todos
Pensei em algo assim:
capturo o id do primeira instância e salvo por exemplo na global.a
capturo o id do segunda instância e salvo por exemplo na global.b
e assim vai até um número suficiente
digamos que sejam 5 variáveis (a,b,c,d,e), a primeira variável de acordo com um alarm zerará em 10 segundos, dae ela poderá ser usada por outra instância...
Será que algo assim permite que as ações ocorram ao mesmo tempo sem interferir em nenhuma instância?
saim, boa idéia, tentarei substituir por algo similar e depois reporto se deu certo.
Mundo Game Maker, na verdade serão várias ações, dae seria inviável criar vários objetos inimigos, sendo que uma hora ou outra esse número iria crescer, teria que ficar substituindo objetos, sem contar que iria colaborar para o peso do jogo. Preciso de algo mais automático possível.
Obrigado a todos
Re: [ajuda]inimigos iguais com ações diferentes
Tente usar o que o Saim Falou só que desse jeito:
Se for diferente desse objeto especial noone então ele faz o que tu queres;
- Código:
inidx=instance_position(mouse_x,mouse_y,objinimigo);//ao invés de
//objinimigo use o nome do objeto inimigo
if inidx!=noone
{with(inidx)
{//comandos}
}
Se for diferente desse objeto especial noone então ele faz o que tu queres;
Hatzo enkiri- Games Ranking :
Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ajuda]inimigos iguais com ações diferentes
.Se form muitos objetos,ao inves de usar varias variaveis use uma array.
obj[1]
obj[2]
e por ai vai;
obj[1]
obj[2]
e por ai vai;
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: [ajuda]inimigos iguais com ações diferentes
Será que alguém não poderia fazer um exemplo básico de como seria? Estou tentando fazer aqui, mas não estou conseguindo (talvez esteja me confundindo com minhas próprias variáveis).
Assim seria mais fácil do que postar todo o meu source pra revisar...
Obrigado
Assim seria mais fácil do que postar todo o meu source pra revisar...
Obrigado
Re: [ajuda]inimigos iguais com ações diferentes
Basta colocar no evento step do objeto:
- Código:
if position_meeting(mouse_x, mouse_y, self)
if keyboard_check_pressed(tecla)
{
acao
}
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: [ajuda]inimigos iguais com ações diferentes
Pedro, sim, mas me confundo na parte que devo pegar o id do inimigo e passá-lo numa variável. De forma que a ação continue sendo executada caso o valor dessa variável mude.
Re: [ajuda]inimigos iguais com ações diferentes
Uma screen básica do problema:
- Spoiler:
Última edição por KevinBandicoot em Sáb 14 Jan 2012, 20:19, editado 1 vez(es)
Re: [ajuda]inimigos iguais com ações diferentes
Faz uma variavel local o objeto que permita mudar a ação apenas se ela estiver em tal valor... por exemplo
cria a variavel:
ai voce coloca...
cria a variavel:
- Código:
acao=0
- Código:
if mouse_button_check_pressed(vk_left)//por exemplo
{acao=random(4)}
ai voce coloca...
- Código:
if acao=1{codigo da acao1}
if acao=2{codigo da acao2}
if acao=3{codigo da acao3}
if acao=4{codigo da acao4}
Re: [ajuda]inimigos iguais com ações diferentes
certo, até aí tudo bem, mas e para dizer que a ação é da instância x sem que interfira na instância y? Como está na screen acima.
Re: [ajuda]inimigos iguais com ações diferentes
Como a variavel é local... nao irá interferir... ocorrerá apenas naquele objeto.
Re: [ajuda]inimigos iguais com ações diferentes
Sim, mas por exemplo:
Digamos que eu apertei enter em uns dos inimigos. A variável ação fica com valor 4, e de acordo if valor = 4, o inimigo para de andar por 10 segundos. Até aí tudo bem, mas se nesses 10 segundos que o inimigo estiver parado eu apertar enter em outro inimigo (quando falo inimigo, é o mesmo objeto), a variável local muda para outro número. Agora uma dúvida, mesmo sendo uma variável local, por ser uma instância do mesmo objeto, o valor não vale para todos?
Dependendo da sua resposta, acho que resolvi o meu problema XD
Digamos que eu apertei enter em uns dos inimigos. A variável ação fica com valor 4, e de acordo if valor = 4, o inimigo para de andar por 10 segundos. Até aí tudo bem, mas se nesses 10 segundos que o inimigo estiver parado eu apertar enter em outro inimigo (quando falo inimigo, é o mesmo objeto), a variável local muda para outro número. Agora uma dúvida, mesmo sendo uma variável local, por ser uma instância do mesmo objeto, o valor não vale para todos?
Dependendo da sua resposta, acho que resolvi o meu problema XD
Re: [ajuda]inimigos iguais com ações diferentes
cria uma variavel que define se o mouse ta em cima ou não :
e ai coloca :
EDIT:
Engine---
http://dl.dropbox.com/u/40305167/engine.gmk
EDIT2:
http://dl.dropbox.com/u/40305167/enginenova.gmk
essa ta certa
- Código:
if mouse_x>x-16 && mousex<x+16 && mouse_y>y-16 && mouse_y<y+16//dependendo do tamanho da sprite
{tadentro=true}
else
{tadentro=false}
e ai coloca :
- Código:
if tadentro=true && keyboard_check_pressed(vk_enter){acao=random(4)}
EDIT:
Engine---
http://dl.dropbox.com/u/40305167/engine.gmk
EDIT2:
http://dl.dropbox.com/u/40305167/enginenova.gmk
essa ta certa
Última edição por williammustaffa em Sáb 14 Jan 2012, 21:31, editado 3 vez(es)
Re: [ajuda]inimigos iguais com ações diferentes
aí parceiro, não sei se é isso que vc quer, mas fiz uma engine pra te ajudar:
no help tá tudo bem explicado,basta dar o f1.
http://dl.dropbox.com/u/43446077/JOGOS/engines/engine%20parar%20um%20objeto%20por%20id%20com%20mouse%20sobre%20ele.gmk
no help tá tudo bem explicado,basta dar o f1.
http://dl.dropbox.com/u/43446077/JOGOS/engines/engine%20parar%20um%20objeto%20por%20id%20com%20mouse%20sobre%20ele.gmk
Re: [ajuda]inimigos iguais com ações diferentes
willian, Deu certo, porém caiu naquele problema que o saim citou lá na primeira página. Só funciona quando o enter está pressionado em cima do objeto.
mrbrum, Sim é isso mesmo, mas o problema é, eu paro um, depois paro outro... Ao mesmo tempo. Se eu clicar em 1 e depois clicar em outro, o 1 deve continua parado até acabar o seu tempo.
mrbrum, Sim é isso mesmo, mas o problema é, eu paro um, depois paro outro... Ao mesmo tempo. Se eu clicar em 1 e depois clicar em outro, o 1 deve continua parado até acabar o seu tempo.
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Ajuda com Health de mais 2 personagens diferentes
» [ajuda]abrir diferentes formatos de video
» [Resolvido] Dúvida: Como reconhecer duas ações diferentes e mudar os sprites
» algumas ações que preciso de ajuda como splash show web video etc
» [Resolvido][Ajuda]objetos com variáveis diferentes
» [ajuda]abrir diferentes formatos de video
» [Resolvido] Dúvida: Como reconhecer duas ações diferentes e mudar os sprites
» algumas ações que preciso de ajuda como splash show web video etc
» [Resolvido][Ajuda]objetos com variáveis diferentes
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos