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.

instance_cretae com array.

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Jovane
Membro
Membro
Reações: 0
Mensagens: 27

instance_cretae com array.

Mensagem por Jovane » Sex Dez 23, 2022 2:47 pm

Eu fiz um codigo no script que cria objetos de acordo com um array, mas no jogo quando ela vai criar, ele criar um objeto totalmente diferente do que eu pedi.Alguém sabe como resolver?

CREATE DO INIMIGO:
enemys = [obj_slime, obj_slime];
COLISÃO DO INIMIGO COM O PLAYER:
adm_battle.enemys = enemys;

script:
for(i = 0; i < enemys_quant; i++){
instance_create_layer(576 + xpos*(i+1), 256, enemys);
}

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 5
Mensagens: 198

Re: instance_cretae com array.

Mensagem por Chuaschinai » Sex Dez 23, 2022 11:51 pm

Como a variável enemys é um array, para obter os valores deste array é necessario passar o index entre colchetes, para assim obter o valor desejado.

Exemplo:
var animais = [obj_cobra, obj_porco, obj_vaca];
animais[0] retorna o objeto obj_cobra
animais[2] retorna o objeto obj_vaca

Basta adicionar enemys[ i ] ao invés de apenas enemys passando assim o valor correspondente a posição do objeto dentro do array, dessa maneira
instance_create_layer(576 + xpos*(i+1), 256, enemys[ i ]);

Mas se você precisar criar o mesmo inimigo diversas vezes, você não precisa do array, pode passar o objeto desejado no lugar de enemys.

Responder

Quem está online

Usuários navegando neste fórum: Google [Bot] e 5 visitantes