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
- gustavo12g
- Novato
- Reações: 0
- Mensagens: 16
-
Troca de posições simultâneas
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
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
- Matheus Carvalho
- Membro
- Reações: 0
- Mensagens: 21
-
Re: Troca de posições simultâneas
Dá pra fazer assim, dá um valor pra cada um deles, e manda buscar a posição em arrays, usando o seu primeiro exemplo.
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.
Código: Selecionar todos
obj1 = 0
obj 4 = 1
obj 5 = 2
obj 1.x = x_pos[0]
obj 1.y = ypos[0]
Se não entender me fala.
- gustavo12g
- Novato
- Reações: 0
- Mensagens: 16
-
Re: Troca de posições simultâneas
Teria como vc fazer uma engine simples para que possa entender melhor?
Agradeço desde já a atenção.
Agradeço desde já a atenção.
- Matheus Carvalho
- Membro
- Reações: 0
- Mensagens: 21
-
Re: Troca de posições simultâneas
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:
Quando girar eles, só fazer:
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.
obj_piece são seus objetos, quando você criar eles você dá um valor para 'i' assim:
Código: Selecionar todos
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]
}
Código: Selecionar todos
with(obj_piece)
{
i++
if i > 5
{
i = 0
}
}
Dá pra melhorar essa código, mas é por ai.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante