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);
}
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.
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: instance_cretae com array.
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.
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.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante