GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Servidor de Discord do fórum?
por Super Games Ontem à(s) 01:27

» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 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

» 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


Interagir com objetivo com variável específica

3 participantes

Ir para baixo

Interagir com objetivo com variável específica Empty Interagir com objetivo com variável específica

Mensagem por Rippley Sex 15 Out 2021, 01:05

Eu quero fazer um portal, e o que eu fiz foi fazer o portal_1 e o portal_2 e em cada um botar a variável "portal" que seria definida manualmente. E com isso, quero fazer que quando o player colidisse com o portal_1, iria para o portal_2 com a mesma váriavel.

Ex:
Portal_1 com a variável "portal" = 2, iria para o portal_2 com a variável "portal" = 2 (e visse versa)

O problema é que eu não consigo dizer pro gamemaker que quero que teleporte o player para as coordenadas do portal com a variável igual a da entrada.
o que passa pela minha mente é algo que eu acho que nem da pra fazer, que seria: colidiu com o portal_1: player.x = portal_2.x(portal = 1)
Rippley
Rippley

Games Ranking : Sem avaliações

Data de inscrição : 15/10/2021
Reputação : 0
Número de Mensagens : 1
Prêmios : Interagir com objetivo com variável específica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Interagir com objetivo com variável específica Empty Re: Interagir com objetivo com variável específica

Mensagem por aminaro Dom 17 Out 2021, 19:29

nao entendi muito bem.

mas acho que poderia fazer assim:

quando o player colidir com o portao_1, coloca;
Código:

portal_2.portal = portal;
x = portal_2.x;
y = portal_2.y;
quando o player colidir com o portao_2, coloca;
Código:

portal_1.portal = portal;
x = portal_1.x;
y = portal_1.y;
aminaro
aminaro

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 31/01/2014
Reputação : 66
Número de Mensagens : 160
Prêmios : Interagir com objetivo com variável específica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

Interagir com objetivo com variável específica Empty Re: Interagir com objetivo com variável específica

Mensagem por saim Seg 18 Out 2021, 11:33

Eu acredito que você precise de quatro variáveis, uma pra identificar o portal e outra pra identificar o destino a que o portal te manda. A terceira variável seria o destino atual do teleporte. Hmmm... como explicar isso melhor? Cada portal tem um destino pré-fixado, mas NESSA viagem, qual destino foi escolhido. No código, vai ficar mais claro. Acho.

As duas primeiras variáveis ficam nos portais, mesmo, mas a terceira vai no objeto que controla o teleporte.

A quarta variável, opcional, seria pra verificar se o jogador acabou de ser teleportado ou ainda precisa ir (pra não ficar indo e voltando, loucamente), mas há outras maneiras de se corrigir esse bug, então não vou entrar nessa seara.
Ah, vou dar um nome pro objeto que servirá como portal, que será usado mais pro final da explicação. Vou chamar esses objetos de "obj_portal", ok?
Também vou considerar que o objeto do jogador esteja sendo chamado de obj_player - e que ele é quem controla o teleporte.

Vamos ao exemplo:
No primeiro portal, as variáveis teriam os seguintes valores
Código:
portal_esse = 1;
portal_destino = 2;
Assim, quando o jogador fosse ser teleportado, você percorreria todos os portais até que fosse encontrado um em que a variável "portal_esse" coincidisse com o destino atual. Supondo que você queira que seja o segundo portal, esse segundo portal teria que ter as seguintes variáveis
Código:
portal_esse = 2;
portal_destino = X;
Deixei "X" porque você não precisa, necessariamente, enviar de volta ao anterior, poderia enviar para o terceiro portal, por exemplo (só não deixe "X" de verdade, no código)...

Mas não expliquei como você "percorreria todos os portais até que fosse encontrado um em que a variável "portal_esse" coincidisse com o destino atual". Faz tempo que não programo, então pode ter algum erro aqui.
Código:
// pra definir qual a instância do obj_portal será adotada
// esse código vai no obj_portal, na hora que for realizar o teleporte
with(obj_portal){
//percorre todos os portais, executando o código em cada um deles
// (portanto só um deles pode atender ao "if")
 if(portal_esse == other.portal_destino){
 //"other" é a instância que chamou o código - às vezes é chamado de "this", também
 // se o cara é o meu destino
 obj_player.inst_destino = id; // define como destino a instância em que o "if" foi verdadeiro
 // note que coloquei a variável no obj_player, não está em nenhum portal
 }
}
// pronto, tá temos a id do portal que é o destino. Não verifiquei se origem e destino têm chance de ser o mesmo objeto porque você vai garantir que isso não aconteça no game-design

// agora, é só iniciar o teleporte! Claro que você pode alterar isso à vontade, mas o basicão é
obj_player.x = obj_player.inst_destino.x;
obj_player.y = obj_player.inst_destino.y;

//ou, se preferir:
with(obj_player){
 x = inst_destino.x;
 y = inst_destino.y;
}
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Interagir com objetivo com variável específica Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Interagir com objetivo com variável específica Empty Re: Interagir com objetivo com variável específica

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos