Ir para conteúdo

POWERED BY:

Arquivado

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

the_flash

soltar mc em lugar pre-definido

Recommended Posts

Tenho dois mc's estou arrastando os mesmos com startdrag...No palco tenho dois retangulos, o que eu quero é:Quando um desses mcs for solto sobre um dos retangulos ele se alinhe ao centro do mesmo...Deu pra sacar bem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mc.onPress = function() {	this.startDrag();};mc.onRelease =mc.onReleaseOutside=function() {	this.stopDrag();	if (this.hitTest(_root.retangulo)) {		this._x = _root.retangulo._x;		this._y = _root.retangulo._y;	}};

Aí eh só adaptar. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu cara, fucionou!!o que eu quero é o seguinte!eu tenho varios mc's no palco! eu arrasto um e ele ocupa um retangulo, eu arrasto outro e ele ocupa o mesmo retangulo, eu queria que quando o segundo mc fosse arrastado, automaticamente ele fosse para o segundo retangulo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mc.onPress = function() {	this.startDrag();};mc.onRelease = mc.onReleaseOutside=function () {	this.stopDrag();	if (this.hitTest(_root.retangulo) && !_root.retangulo.ocupado) {		this._x = _root.retangulo._x;		this._y = _root.retangulo._y;		delete this.onPress;		delete this.onRelease;		delete this.onReleaseOutside;		_root.retangulo.ocupado = true;	}else if(this.hitTest(_root.retangulo) && _root.retangulo.ocupado){		this._x = _root.retangulo2._x;		this._y = _root.retangulo2._y;		delete this.onPress;		delete this.onRelease;		delete this.onReleaseOutside;		_root.retangulo2.ocupado = true;}};

Assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá!supondo que vou ter 10 mc's, e se o primeiro tiver ocupado ele vá para o segundo, e se o segundo tiver ocupado ele vá ao terceiro... e assim por diante...eu pensei assimq = 0;mc.onRelease = mc.onReleaseOutside=function () { this.stopDrag(); if (this.hitTest(_root.retangulo)) { this._x = 80.0; this._y = 95.0; q++; }e colocar um switch case...se q = 0 ir para x=80 y=95se q = 1 ir para x=130 y=95lembrando que o movie clip que estou arrastando tem nome "mc", tem um retangulo grande no palco com nome de "retangulo" e quando arrasto o mc pra dentro dele ele vai pra um lugar pre definido dentro do retangulo... vou ter varios mcs no palco... e eles nao tem uma ordem para serem arastados... entao qualquer mc pode ser arrastado para a primeira posição, e o segudo arrastado vá para a segunda posição. assim por diante...espero nao ter complicado a coisa!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Humm... vamos lá:

 

for(i=0;i<10;i++){_root["mc"+i].onRelease = _root["mc"+i].onReleaseOutside=function () {	this.stopDrag();	if (this.hitTest(_root.retangulo)) {		q++;		encaixa(this, q);		delete this.onPress;		delete this.onRelease;		delete this.onReleaseOutside;	}};};function encaixa(mcs, onde) {	mcs._x = (50*onde)+30;	//fiz isso pq você disse q era 1: 80x - 2: 130x... aí é só mudar	mcs._y = 95;}

Testa aí, vlw.

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.