Ir para conteúdo

POWERED BY:

Arquivado

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

Broka

Drag & Drop e MCs

Recommended Posts

Estou tentando arrastar uma imagem (pode ser um mc) para determinado campo do meu palco e quando tocar nesse determinado campo, abrir um um novo MC nesse local que determinei o toque.Conseguir fazer o Drag colidir e tal. Eu usei o codigo abaixo:

on (press) {   startDrag(_parent.mc01);}on (release) {   stopDrag();  if (eval(_parent.mc01._droptarget) != _parent.recebe) {	   _parent.gotoAndPlay("mc01");// Caso o MC não colida voltar o local de origem_parent.mc01._x=9;_parent.mc01._y=29;   }}

Minha dúvida é a seguinte: Agora eu quero que quando meu mc01 colidir com meu mc(recebe) no campo recebe deverá abrir um outro mc.

 

Minha outra duvida é a seguinte, no filme terei 10 MCs gostaria que quando estiver com um mc "colidido" no campo (recebe), por exemplo o mc01, ao eu arrastar outro mc, por exemplo o mc02, e ao colidir esse mc02 gostaria que o mc01 voltasse ao local de origem pronto para arrasta-lo novamente.

 

Não sei se fui bem claro.

 

QQ duvida poste aki.

 

Um abraço e mais uma vez obrigado pela ajuda.

Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi meio confiso sua explicação, mas axo q era isso

 

on (press) {   startDrag(_parent.mc01);   pox=_parent.mc01._x   poy=_parent.mc01._t}on (release) {   stopDrag();  if (eval(_parent.mc01._droptarget) != _parent.recebe) {	   _parent.gotoAndPlay("mc01");// Caso o MC não colida voltar o local de origem_parent.mc01._y=poy;_parent.mc01._x=pox;   }}

 

ao começar a arrastar você quarda o valor da posição dele, e quando soltar manda de volta pro lugar

 

 

tenta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar explicar dinovo heheheheheh

 

Tenho um MC que é o mc01, e quero arrastar e "colidir" até o outro MC que tenho no palco (mc_recebe) e ficar lá o mc01. Até aqui tudo bem, consegui fazer o mc01 ser arrastado até o mc_recebe e ter essa colisão pelo codigo q enviei. Consegui também que caso o local de colisão seja o errado, ele volte para o local de origem.

 

Agora vem minhas duvidas:

 

01 - Eu queria que o mc01, ao colidir com meu mc_recebe, abrisse meu MC (teste) num local determinado por mim em x e y.

 

02 - Como tenho 10 MCs arrastaveis para meu mc_recebe, gostaria que se meu mc01 já estivesse em colisão com o mc_recebe, e por acaso eu comece a arrastar o mc02 para o mc_recebe, ao toca-lo queria que o mc01 voltasse para o local de origem.

 

Acho que fui mais claro nessa explicação heheheheh...

 

QQ duvida ou caso queiram o FLA desse arquivo, podem me contatar via e-mail rafa_broka@yahoo.com.br

 

Um abraço e mais uma vez obrigado pela ajuda.

 

Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora melhou, rs

 

 

tenta assim

 

supondo q seus 10 MC esteja nomeado assim, mc01, mc02, mc03, etc...

 

 

ao inves de coloca o codigo em cada botão, coloca na timeline onde estão os botões

 

var ultimoMCfor(i=1;1<=10;i++){	//guarda a posição original de cada um		eval("mc0"+i).pox=eval("mc0"+i)._x	eval("mc0"+i).poy=eval("mc0"+i)._y		eval("mc0"+i)onPress=function(){   	   startDrag(this);	}	eval("mc0"+i).onRelease=function(){			  stopDrag();	  	  if (this._droptarget != _parent.recebe) {			 _parent.gotoAndPlay("mc01");		// Caso o MC não colida voltar o local de origem			this._x=this.pox			this._y=this.poy			}else{			//manda o ultimo a ser coloca em cima de volta			_parent.ultimoMC._x=_parent.ultimoMC.pox			_parent.ultimoMC._y=_parent.ultimoMC.poy			//o atual MC vira o ultimo			_parent.ultimoMC=this		}	}}

 

 

testa ai, qualquer coisa é só falar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Eder pela ajuda...Mesmo assim não funcionou, não sei o que está acontecendo...Se alguém souber por favor me ajude, to meio com a corda no pescoço heheheheObrigado mais uma vez...

Compartilhar este post


Link para o post
Compartilhar em outros sites

PessoalSerá que alguém poderia sanar essa minha duvida, estou parado nisso fazem 2 dias e não consigo sair...Estou ficando loko já heheheheheheUm abraçoRafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conforme pedido segue link para o arquivo FLA:www.rohr.com.br/download/perfil.flaQualquer problema pode me contactar via e-mail:rafa_broka@yahoo.com.brMais uma vez muito obrigado pela ajuda...Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

GaleraSe mais alguém tiver problema em pegar o FLA do meu problema hehehehehe pode me contactar pelo e-mail acima.Falow um abraçoEstou desesperado arrancando os cabelos porcausa de problema...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eder valeu mesmo...A troca dos MCs deu certo...Fico muito bom mesmo, você é fera no assunto...Mas só faltou agora aquela minha outra duvida:Eu queria que os MCs com aqueles nomes, ao colidir com meu mc_recebe (aquele quadro em branco), abrisse um outro MC que está na minha biblioteca nesse quando em branco.Como faço isso????Me de uma luzMais uma vez brigadão pela força...

Compartilhar este post


Link para o post
Compartilhar em outros sites

EderColoquei a função attachMovie mas não muito certo por causa da função de drag...Como é que ficaria a função do attachMovie????Existe alguma outra função????Brigadão pela força

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembra q no movieCLip q esta na biblioteca q sera "atachado", você deve ir nas propriedades dele e setar como linkage

 

no codigo q te enviei

 

if (this.hitTest(recebe) != true) {

// Caso o MC não colida voltar o local de origem

this._x=this.pox

this._y=this.poy

}else{

recebe.attachMovie(this._name,"teste",0)

//manda o ultimo a ser coloca em cima de volta

ultimoMC._x=ultimoMC.pox

ultimoMC._y=ultimoMC.poy

//o atual MC vira o ultimo

ultimoMC=this

}

}

 

 

 

agora você deve nomear cada item da biblioteca(e o linkage) com o mesmo nome dos botões, ou seja, mc01, mc02..., para q abra o seu corespondente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Eder...Ficou muito bom!!! Valeu pela ajuda...A unica coisa q está acontecendo q não consigo tirar é que quando eu arrasto os nomes para o MC recebe, os nomes ficam aparecendo em cima do MC que eu "atachei".Tem como fazer ele desaparecer quando esse MC "atachado" abrir.Outra duvida é se consigo colocar um Preloader nesses MC que irei "atachar"Valeu mais uma vez, sua ajuda foi muito importante pra mim.Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem como fazer ele desaparecer quando esse MC "atachado" abrir.

em baixo da linha onde ele atthacha coloca isso recebe.swapDepths(this)isso faz ele trocar de nivel com o outro mc

Outra duvida é se consigo colocar um Preloader nesses MC que irei "atachar"

se ele esta na biblioteca naum precisa de preload, ele mostrará o movie clip na mesma hora q clicar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Eder funcionou legal agora...Só ficou dando um pequeno erro que as vezes quando eu vou arrastar novamente o primeiro nome, ele não some e fica em cima do quadro. De uma olhadinha no FLA aí no link abaixo:www.rohr.com.br/download/perfil.flaSobre o preloader no MC, não seria melhor eu abrir um novo SWF ao invés de abrir um MC no campo "recebe"? Estou falando em que ao tocar no "recebe" ele abre um MC, como tenho foto nesse MC não seria melhor abrir umSWF externo.Se for melhor abrir um SWF no "recebe", como faço isso????Mais uma vez obrigado pela ajuda.Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

qunato ao problema do arrastar, o q tava ficando por cima aqui é a frase q você colocou "ARRASTE E SOLTE O NOME DO ATLET......."coloca ela dentro do movieClip "recebe" q resolve, ela naum aparece maisquanto ao preload, do geito q você fez está bom, usando attach, naum precisará de preload, pois o movie clip esta na biblioteca, então naum tem tempo de espera pra attachase nau o q você estava pensando em carregar externo? e como ele abriria? numa popup ou iria substituir o swf q estava lá

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.