Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Troca de posições simultâneas

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
gustavo12g
Novato
Novato
Reações: 0
Mensagens: 16

Troca de posições simultâneas

Mensagem por gustavo12g » Sex Jun 17, 2016 10:46 pm

Olá pessoal  aqui vai minha dúvida:
Tenho 6 objetos perfilados  3 em 3  de forma paralela. O que desejo é que quando apertar espaço cada um deles troque de posição de forma horária.
Um tomaria a posição do outro. Isso não seria tão difícil, mas  o caso  é que eu precisaria identificar qual objeto estaria em cada posição, já que os mesmos poderiam ser selecionados de várias formas, no início do jogo. Por ex:
Uma configuração poderia ser: obj1    obj4             obj2  obj4
                                                  obj2    obj5      ou   obj3  obj1
                                                  obj3    obj6             obj5  obj6

Avatar do usuário
Matheus Carvalho
Membro
Membro
Reações: 0
Mensagens: 21

Re: Troca de posições simultâneas

Mensagem por Matheus Carvalho » Sex Jun 17, 2016 11:47 pm

Dá pra fazer assim, dá um valor pra cada um deles, e manda buscar a posição em arrays, usando o seu primeiro exemplo.
obj1 = 0
obj 4 = 1
obj 5 = 2

obj 1.x = x_pos[0]
obj 1.y = ypos[0]
Quando apertar o botão vocês trocaria o índice, em forma de loop (checa se é maior que o maior índice possível, se for, faz ser 0).

Se não entender me fala.

Avatar do usuário
gustavo12g
Novato
Novato
Reações: 0
Mensagens: 16

Re: Troca de posições simultâneas

Mensagem por gustavo12g » Sáb Jun 18, 2016 8:32 am

Teria como vc fazer uma engine simples para que possa entender melhor?

Agradeço desde já a atenção.

Avatar do usuário
Matheus Carvalho
Membro
Membro
Reações: 0
Mensagens: 21

Re: Troca de posições simultâneas

Mensagem por Matheus Carvalho » Sáb Jun 18, 2016 2:41 pm

hum, ai não... vou faze rum fake code aqui.

obj_piece são seus objetos, quando você criar eles você dá um valor para 'i' assim:
var i = 0;
repeat(6)
inst = instance_create(x, y, obj_piece)
isnt.i = i
i++
}

no step deles
{
   x = posx[i]
   y = posy[i]
}
Quando girar eles, só fazer:
with(obj_piece)
{
   i++
   if i > 5
   {
      i = 0
   }
}
Isso vai fazer com que todos obj_piece adicionem 1 ao valor de 'i', então eles vão buscar uma nova posição nos vetores posx e posy. Se der pra girar anti=horário, também tem que checar se 'i' é menor que 0, se for, faz i = 5.

Dá pra melhorar essa código, mas é por ai.

Trancado

Quem está online

Usuários navegando neste fórum: Google [Bot] e 0 visitante