Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcos.cardoso

[Resolvido] Alocação de movieclips em alvos

Recommended Posts

Olá, bom dia

 

gostaria de saber como faço pra identificar qual objeto foi colocado dentro de um alvo.

 

por exemplo: eu tenho um jogo que consiste em arrastar peças e formar alguma figura. gostaria de validar a alocação das peças em cada alvo,

mas pra isso eu precisaria identificar qual peça está aonde.

 

por exemplo: saber qual peça está no alvo1.

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... eu arrasto o movieclip (que tem um nome de instância) para o alvo (que também tem um nome de instância). Sendo assim, eu testo com hitTest se o meu mc ta no alvo, ai eu solto ele e o alvo recebe.

 

Mas o que eu queria é o contrário também... encontrando uma maneira de verificar no alvo, qual movieclip está sobre ele, no caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo do que você quer...

 

retirado do tutorial do kirupa

 

onEnterFrame = function() {
   if (_root.quadrado, hitTest(_root.bolinha)) {
	   texto.text = "Colisão detectada";
   } else {
	   texto.text = "Sem colisão";
   }
}

É um tanto quanto simples como você pode reparar.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, mas no caso dele, tem vários alvos, ele teria que verificar em todos.

O mais certo que eu acho, é quando você inserir um movieClip em algum alvo, você guarda este alvo numa variável dentro do próprio movieClip:

 

//assim que colocar o movieClip no alvo
seumovie.alvo = alvo1;

Ou senão, ao contrário

alvo1.mc = movieClip;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... encontrei uma maneira... mas não sei qual das duas seria mais eficiente (a do italo ou a minha - peço ajuda pra decidir).

 

A minha é o seguinte: percebi que da pra verificar com hitTest mesmo qual mc está no alvo. Então com

if(this.hitTest(alvo1) && (this._x <= alvo1._x + 50) && (this._x >= alvo1._x - 50)
		&& (this._y <= alvo1._y + 50) && (this._y >= alvo1._y - 50)) {
		this._width = 150;
		this._height = 150;
		this._x = alvo1._x;
		this._y = alvo1._y;
	}
eu verifico se o mc está no alvo e com:

if (_01.hitTest(alvo1)) {
		trace("ok");
	}
eu verifico qual mc está no alvo. não sei se está claro.

 

Já a do italo é usando variáveis.

 

Me ajudem a decidir qual é mais eficiente e me falem sobre a minha idéia.

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, a maneira que eu te passei, você não precisa fazer verificação de qual está dentro do alvo, pq você tem uma variável que guarda esse valor para você.

Tem N modos de fazer, você tem que usar um que irá aplicar a sua lógica e para o que você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.