Ir para conteúdo

Arquivado

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

nazzinha

Problemas com Drag

Recommended Posts

Olá!

 

Gente, sou nova por aqui e conheço o básico do básico de action e preciso de um help... quem puder me ajudar...

 

Segue a action:

////////////////////////////////////// INICIO ////////////////////////////////////// 

import flash.events.MouseEvent;
import flash.display.Sprite;

//Objeto URLRequest  - trata o endereço
var minhaURL:URLRequest = new URLRequest( "conteudo.txt" );

//Objeto URLLoader
var meusDados:URLLoader = new URLLoader( minhaURL );

//Monitorar o carregamento dos dados
meusDados.addEventListener(Event.COMPLETE , dadosCarregados);

//Definir o formato de interpretação do conteudo
meusDados.dataFormat = URLLoaderDataFormat.VARIABLES;

/////////////   Arrays de Conteudo  //////////////////
var botoes:Array = new Array();
var fotos:Array = new Array();
var descricao:Array = new Array();

/////////////   target  //////////////////
var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 500, 900, 50);
target1.name = "target1";
stage.addChild(target1);

///////////   Função que trata os dados carregados  ////////
function dadosCarregados ( evt:Event ):void
{ //Begin dadosCarregados

  //Vincular os itens recebidos aos arrays de conteudo
  botoes = evt.target.data.botoes.split("#") ;
  fotos = evt.target.data.fotos.split("#") ;
  descricao = evt.target.data.descricao.split("#") ;

  //Chamada para a função que manipula os dados
  manipularDados();
  
} //End dadosCarregados


/////////   Função para manipular os dados dos arrays  /////////
function manipularDados () 
{
//Definir os botoes
for ( var i:uint=0; i < botoes.length; i++)
{
  //criando as instrancias dos botões
  root["bt" + i] = new BotaoPadrao();

  //anexar os botões ao stage
  addChild(root["bt" + i]);
  
  //manipular as propriedades dos botões
  with(root["bt" + i])
  {
   y = 420;
   x = 100 + i * (width - 14);
   rotulo_txt.text = botoes[i];
   indice = i;
   
   //listener para clicar e exibir conteúdo
   addEventListener(MouseEvent.CLICK,paginacao);  
   
   
   //listener para startDrag
   addEventListener(MouseEvent.MOUSE_DOWN, iniciaDrag);
   
   //listener para stopDrag
   addEventListener(MouseEvent.MOUSE_UP, paraDrag);

  }  
}

//criar a caixa de texto
var texto_txt:TextField = new TextField();
stage.addChild(texto_txt);

//criar o format para o conteudo da caixa
var texto_fmt:TextFormat = new TextFormat();

//manipular as propriedades do format
with(texto_fmt)
{
  font = "Tahoma"
  size = 16;
  color = 0x0000FF;
  align = "justify";  
}

//carregar imagens
var fotoLoader:Loader = new Loader();
stage.addChild(fotoLoader);


//Paginação dos dados após o clique
function paginacao(evt:MouseEvent):void
{  
  //manipular propriedades da TextField
  with(texto_txt)
  {
   x = 300;
   y = 50;
   width = 600;
   height = 300;
   border = false;
   text = descricao[evt.target.indice];
   multiline = true;
   wordWrap = true;
   setTextFormat(texto_fmt);
  }
  //manipular a foto
  with(fotoLoader)
  {
   x = 20;
   y = 50
   load(new URLRequest("fotos/" + fotos[evt.target.indice]));
   scaleX = scaleY = .30;
   
  }
}

//função drag
function iniciaDrag(evt:MouseEvent):void
{
  root["bt" + i].startDrag();
}

//função stopDrag
function paraDrag(evt:MouseEvent):void
{
  root["bt" + i].stopDrag();
}

}
////////////////////////////////////// FIM////////////////////////////////////// 

Segue conteudo.txt:

 

////////////////////////////////////// INÍCIO//////////////////////////////////////

 

botoes=Casa da Praia#Meu barquinho#Por-do-Sol#Quintal de Casa#Minha Baleia&fotos=foto1.jpg#foto2.jpg#foto3.jpg#foto4.jpg#foto5.jpg&descricao=Esta casa da praia é muito legal, mas a Angelina não gostou.#Meu barquinho quase virou no passeio com a Sharon.#Abri a janela do quarto e tirei esta foto.#Depois do tsunami, minha praia nunca mais foi a mesma#Willie veio me visitar nesse verão.

 

////////////////////////////////////// FIM//////////////////////////////////////

 

 

PROBLEMAS

 

1º) Preciso fazer com que os mcs que carrego via txt fiquem "dragáveis" (termo horrível, mas desconheço outro);

 

Até coloquei uma função para isso, mas não funfa... Dá o erro:

 

TypeError: Error #1010: A term is undefined and has no properties.

at MethodInfo-7()

TypeError: Error #1010: A term is undefined and has no properties.

at MethodInfo-8()

 

 

2º) Assim que eu solto mc no target1, os demais devem ficar lado a lado;

 

3º) Os mcs que estão no target1 devem ter a opção de voltar para o lugar de origem;

 

Alguém, PLEASE, pode me ajudar? Já não sei mais o que fazer com essa meleca... Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

nas funções iniciaDrag e para Drag troque o

 

root["bt" + i]

por

 

evt.currentTarget

a variável i não existe dentro dessas funções.

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.