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
Controle de objetos
3 participantes
Página 1 de 1
Controle de objetos
eu tenho 5 obj_ally na room.....
quando executo um comando todos eles fazem a mesma coisa....
tem como eu ter 5 objetos iguais e vamos supor.... quando eu clico em um deles e clico em algum lugar da room só o objeto selecionado mover até tal ponto?mesmo sendo os 5 objetos iguais?
quando executo um comando todos eles fazem a mesma coisa....
tem como eu ter 5 objetos iguais e vamos supor.... quando eu clico em um deles e clico em algum lugar da room só o objeto selecionado mover até tal ponto?mesmo sendo os 5 objetos iguais?
itallo- Games Ranking :
Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Controle de objetos
Você teria que controlá-los pelo id de cada um...
id, é um número de identificação único de cada instância, atribuído à ela no momento em que é criada. Esse tutorial, pode te ajudar bastante:
https://gmbr.forumeiros.com/tutoriais-f9/id-identificando-as-instancias-t316.htm?highlight=identificando
Eu mesmo que escrevi, tempos atrás.
id, é um número de identificação único de cada instância, atribuído à ela no momento em que é criada. Esse tutorial, pode te ajudar bastante:
https://gmbr.forumeiros.com/tutoriais-f9/id-identificando-as-instancias-t316.htm?highlight=identificando
Eu mesmo que escrevi, tempos atrás.
Convidad- Convidado
Re: Controle de objetos
capitão como vi o tuto e gostei mas......
não consegui pensar como vou pegar o ID do mob ao clicar nele e passar a ordem para ele mover só para ele =/
seria + ou menos assim:?
if mouse_button_check_pressed(mb_left) and press <=1
{
press+=1
find id
last_id=last_target
}
if mouse_button_check_pressed(mb_left) and press >=1
{
press = 0
pod = true
tx = mouse_x
ty = mouse_y
}
if pod = true{
move_towards_point(tx,ty,4)
}
misturei um pouco de easyUO pra tentar entender......
se tiver como me explicar como passo a primeira parte pro GM
não consegui pensar como vou pegar o ID do mob ao clicar nele e passar a ordem para ele mover só para ele =/
seria + ou menos assim:?
if mouse_button_check_pressed(mb_left) and press <=1
{
press+=1
find id
last_id=last_target
}
if mouse_button_check_pressed(mb_left) and press >=1
{
press = 0
pod = true
tx = mouse_x
ty = mouse_y
}
if pod = true{
move_towards_point(tx,ty,4)
}
misturei um pouco de easyUO pra tentar entender......
se tiver como me explicar como passo a primeira parte pro GM
Última edição por oBKo em Sáb 14 Nov 2009, 20:22, editado 1 vez(es)
itallo- Games Ranking :
Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Controle de objetos
oBKo escreveu:capitão como vi o tuto e gostei mas......
não consegui pensar como vou pegar o ID do mob ao clicar nele e passar a ordem para ele mover só para ele =/
Eu fiz um exemplo, com comentários. Se você tiver dúvidas, me fala:
http://www.4shared.com/file/152313858/c81f7221/Selecionar_e_Movimentar.html
Última edição por Capitão Commando em Sáb 14 Nov 2009, 21:47, editado 2 vez(es)
Convidad- Convidado
Re: Controle de objetos
Nem esquenta com isso oBKo, estou fazendo uma engine para ti, pois eu não sou muito bom em explicações, já te dou o link dela, já estou no finzinho, só que não estou me lembrando do nome de uma função, e eu vo dar procurar no "help" para ver se me lembro e já posto aqui !
Aguarde !
Aguarde !
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: Controle de objetos
cara, nao precisa saber o ID nao
coloca uma variavel no objeto com o valor zero. Caso o objeto receba um clique do mouse (evento mouse-left button), o valor passa a ser 1.
O objeto só deve "respeitar" os comandos do mouse caso o valor dessa variável seja 1.
Coloque no Begin Step do objeto algo assim:
if mouse_check_button_pressed(mb_left) then variavel = 0
assim toda vez q vc clicar o mouse em qualquer lugar, todas as instancias do objeto vao ter o valor dessa variavel = 0. Se o clique for em cima de alguma das instancias, logo depois o valor da variavel apenas naquela instancia passa a ser 1.
Pra complicar mais (só se vc precisar disso)
se vc quiser que quando NENHUMA esteja selecionada, TODAS respeitem os comandos do mouse, mas quando UMA esteja selecionada, apenas aquela uma respeite o mouse, é só voce mudar o codigo no evento mouse -> left button para
with (objeto) variavel = 2
variavel = 1
assim voce vai mudar a variavel de todos as instancias daquele objeto pra 2, e depois daquela unica instancia pra 1. Dai é só fazer com que ele respeite os movimentos desde que o valor da variavel seja diferente de 2 (Se todo mundo for 0, ele vai respeitar, se todo mundo for 2, mas apenar um cara for 1, ele vai respeitar apenas o cara q tem 1)
Espero que tenha ajudado.
Edit -> tem um erro no meu codigo acima. QUando voce clicar fora de todos os objetos, todos vao passar a ter o valor da variavel como 0, logo nenhum vai se mover. Mas ai é um erro até mesmo de "projeto", o que foi proposto é IMPOSSIVEL de fazer.
Retire o codigo do begin step, e coloque isso no Mouse-> Left Button
with (objeto) variavel = 0
variavel = 1
assim voce pode clicar fora dos objetos tranquilamente (e programar o movimento deles sem problema), mas se voce clicar em alguma outra instancia, ele vai "desativar" os outros e ativar apenas ela.
Você também poderia mudar o codigo do begin step para o botao do mouse direito ao inves do mouse esquerdo... assim ele desativaria todas quando o botao do mouse direito fosse apertado em qualquer ponto, permitindo que todos os objetos fosse "desativados" ao mesmo tempo.....e minha ideia "mais complicada" possa ser aplicada tambem , se necessaria.
coloca uma variavel no objeto com o valor zero. Caso o objeto receba um clique do mouse (evento mouse-left button), o valor passa a ser 1.
O objeto só deve "respeitar" os comandos do mouse caso o valor dessa variável seja 1.
Coloque no Begin Step do objeto algo assim:
if mouse_check_button_pressed(mb_left) then variavel = 0
assim toda vez q vc clicar o mouse em qualquer lugar, todas as instancias do objeto vao ter o valor dessa variavel = 0. Se o clique for em cima de alguma das instancias, logo depois o valor da variavel apenas naquela instancia passa a ser 1.
Pra complicar mais (só se vc precisar disso)
se vc quiser que quando NENHUMA esteja selecionada, TODAS respeitem os comandos do mouse, mas quando UMA esteja selecionada, apenas aquela uma respeite o mouse, é só voce mudar o codigo no evento mouse -> left button para
with (objeto) variavel = 2
variavel = 1
assim voce vai mudar a variavel de todos as instancias daquele objeto pra 2, e depois daquela unica instancia pra 1. Dai é só fazer com que ele respeite os movimentos desde que o valor da variavel seja diferente de 2 (Se todo mundo for 0, ele vai respeitar, se todo mundo for 2, mas apenar um cara for 1, ele vai respeitar apenas o cara q tem 1)
Espero que tenha ajudado.
Edit -> tem um erro no meu codigo acima. QUando voce clicar fora de todos os objetos, todos vao passar a ter o valor da variavel como 0, logo nenhum vai se mover. Mas ai é um erro até mesmo de "projeto", o que foi proposto é IMPOSSIVEL de fazer.
Retire o codigo do begin step, e coloque isso no Mouse-> Left Button
with (objeto) variavel = 0
variavel = 1
assim voce pode clicar fora dos objetos tranquilamente (e programar o movimento deles sem problema), mas se voce clicar em alguma outra instancia, ele vai "desativar" os outros e ativar apenas ela.
Você também poderia mudar o codigo do begin step para o botao do mouse direito ao inves do mouse esquerdo... assim ele desativaria todas quando o botao do mouse direito fosse apertado em qualquer ponto, permitindo que todos os objetos fosse "desativados" ao mesmo tempo.....e minha ideia "mais complicada" possa ser aplicada tambem , se necessaria.
Re: Controle de objetos
Mas há uma inconveniência aí. Se houver duas instâncias sobrepostas durante o clique, as duas irão seguir o comando. Neste caso deveríamos diferenciá-las pelo depth (a que estiver mais à frente) ou pelo id.
Veja que no exemplo que eu fiz upload, eu evitei essa situação optando pelo id, o que vai dar mais possibilidades à ele futuramente, se ele precisar. Daí bastaria executar o comando de qualquer lugar do código (mesmo de instâncias diferentes) para a instância selecionada.
Mas é uma possibilidade. Cada programador com seus métodos, certo? [:¬)]
Abraços.
Capitão Commando.
Veja que no exemplo que eu fiz upload, eu evitei essa situação optando pelo id, o que vai dar mais possibilidades à ele futuramente, se ele precisar. Daí bastaria executar o comando de qualquer lugar do código (mesmo de instâncias diferentes) para a instância selecionada.
Mas é uma possibilidade. Cada programador com seus métodos, certo? [:¬)]
Abraços.
Capitão Commando.
Convidad- Convidado
Re: Controle de objetos
valeu POVO!!!
consegui compreender como isso funciona
gostei do sistema bolado para salvar o ultimo ID
vou fazer uma gambiarra aqui com as duas engines e fazer a parte de estratégia do meu jogo
me ajudaram e muito!!!
consegui compreender como isso funciona
gostei do sistema bolado para salvar o ultimo ID
vou fazer uma gambiarra aqui com as duas engines e fazer a parte de estratégia do meu jogo
me ajudaram e muito!!!
itallo- Games Ranking :
Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Controle de objetos
Buh
o Capitao Comando está certo. Eu estava imaginando algo em que uma instancia nao poderia estar "dentro" da outra, mas se isso for possivel, a minha ideia vai dar o problema q ele comentou.
Mas va la, se o oBKo ja resolveu, manda ver agora
o Capitao Comando está certo. Eu estava imaginando algo em que uma instancia nao poderia estar "dentro" da outra, mas se isso for possivel, a minha ideia vai dar o problema q ele comentou.
Mas va la, se o oBKo ja resolveu, manda ver agora
Tópicos semelhantes
» não criar objetos sobre objetos sólidos
» controle de volume?
» controle padrao
» Problemas com Bosse e Obj de Controle
» Controle de tiro
» controle de volume?
» controle padrao
» Problemas com Bosse e Obj de Controle
» Controle de tiro
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos