Comunidad de diseño web y desarrollo en internet online

clonar mc en stage al startDrag

Citar            
MensajeEscrito el 22 Jul 2013 04:25 pm
ese tema! ese tema! XD creo que stratDrag n stopDrag es un top10 sin lugar a dudas. Pero este les aseguro que es diferente

Estoy armando un juego, cargue y acomode elementos on stage, luego dentro de un mclip armo un grid para colocar en cada celda de ese grid un objeto que ha cargado BitMaps, digamis que:
stage.
- mimenu (mimenu es un mclip que contiene otro mc grid con la totalidad de mcs celdas)
--grid
---grid1,grid,2,grid,3...
----grid1.loaderclip (loaderclip es un nuevo clip con el loader.content bitmap que se cargo)

Entonces al tener todo digamos que un startDrag seria a este objeto:
stage.mimenu.grid.grid1.loaderclip

No me sirve mucho arrastrar este clip porque no lo posiciona sobre los objetos del escenario, no lo pone hasta el frente

1. Lo que necesito o intento es duplicar ese clip y poner esa copia en stage
2. Despues este clip ponerlo hasta el frente de todos los elementos del mismo nivel
3. Y hacer que on mouse move este siguiendo al puntero

Como hago una copia de este objeto? Como lo pongo en stage? no puedo!, ya me atore aqui...
Lo dejo un rato aqui, por si pueden ver como se comporta (arrastra los items de la izquierda)

Por comicSans

Claber

151 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2013 04:33 pm
estos son algunos intentos, pero no veo el clip

Código :

private function dragMe(event:MouseEvent):void {
  currentClip = MovieClip(event.currentTarget);
  startX = currentClip.x; startY = currentClip.y; // esto OK
  event.currentTarget.startDrag();                      // esto OK
  
 // esto un intento, ;(  (ya se imaginaran, frustradooooo!)
  var ClassDefinition:Class = Class(getDefinitionByName(getQualifiedClassName(currentClip)));
  var myMC:MovieClip = new ClassDefinition;

// esto otro intento, ¬¬  ...nada
  var mc:MovieClip = new event.currentTarget.constructor;
  //add it to the container
  mc.name = 'mcinroot';
  addChild(mc);
  mc.x = 0; 
  mc.y = 0;
...

Por comicSans

Claber

151 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2013 05:15 pm
Hola, una forma para "copiar" las imágenes es usando un método de la clase bitmapData llamado "draw", ese método permite "copiar" un movieclip por ejemplo o un objeto loader, luego con ese dato ya se puede crear un nuevo bitmap para incluirlo dentro de un sprite o un movieclip y agregarlo a la escena.

Para traer el objeto al frente de la pantalla se puede crear un una variable que guarde el total de objetos en la escena :

var totalobjetos = stage.numChildren;

y luego asignarle la profundidad a la imagen suponiendo el bitmap o el moviclip se llama Mi_mc;

setChildIndex(Mi_mc, totalobjetos);

Por julianpena

98 de clabLevel

1 tutorial

Genero:Masculino  

Diseñador Grafico

chrome
Citar            
MensajeEscrito el 23 Jul 2013 02:06 pm
excelente hermano, con bitmapData funciono, no veia como c&%$#s!! duplicar o clonar

var myMC:Bitmap = new ClassDefinition ( Bitmap(currentClip.getChildAt(0)).bitmapData );

Por comicSans

Claber

151 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.