Página 1 de 1

Colisão entre os dois objectos iguais mais com imagem_index diferentes

Enviado: Sáb Mai 26, 2018 9:16 pm
por Trevors
galera  tenho uma duvida se puder me ajudar,
" se eu tenho uma obj frutas que a sprite são 10 sub_iamgens de frutas diferente entao coloco o obj na room e dou um irandon para ele escolher a fruta que irá aparecer [ como faço para que quando duas fruas diferente colidam e der origem a uma fruta nova { EX: a banana colida com a maçã se colidam e der origem a BANANA MAÇÃ} ]".

Re: Colisão entre os dois objectos iguais mais com imagem_index diferentes

Enviado: Seg Mai 28, 2018 9:56 am
por None
Você checa pelo image_index
Lembrando que o image_index começa do 0.

Essa é uma maneira, outra é usar "calculo de bits" para ter o que você quer, assim a fusão funciona mais linearmente.

No create event depois do irandom você usa um switch (ou if mesmo) e da um valor para uma nova variável com base no image_index, sempre indo com valores binários 1 2 4 8 etc, e depois de fazer isso para todas as possibilidades de image index você apenas pega a soma de cada um deles para formar uma nova fruta, vou dar um exemplo com 4 frutas

Código: Selecionar todos

image_index = irandom(3); //0 banana, 1 limão, 2 maça, 3 uva

switch(image_index)
{
case 0:
numero = 1;
break;
case 1:
numero = 2;
break;
case 2:
numero = 4;
break;
case 3: numero = 8;
break;
}

Ok, qual a parte legal deste código? Todas as combinações possíveis são exclusivas, não há combinações que geram o mesmo valor, então se misturar a banana e a uva vai dar 1 + 8 = 9; se misturar a maçã e o limão vai dar 2 + 4 = 6, todas as combinações são únicas, então na colisão eu simplesmente checo o total da conta, se o total der 5 (banana + maçã) eu sei que sempre vai ser a combinação destas duas frutas, então se a soma for 5 eu crio a banana maçã.

Espero que tenha dado para entender.