Tengo una duda, tengo un archivo fla swf con el siguiente código.
Código ActionScript :
//import fl.controls.ColorPicker;
//import fl.events.ColorPickerEvent;
import flash.geom.*;
import flash.events.Event;
import flash.ui.Mouse;
import flash.display.Sprite;
//Genero un contenedor para sprite
var objx:Sprite = new Sprite();
objx.graphics.beginFill(0xDDDDDD);
objx.graphics.drawRect(0,0,55,55);
objx.graphics.lineStyle(1,0x333333,1,false,"none");
objx.name="objx";
//objx.x=100;
stage.addChildAt(objx,0);
//Genero un SPRITE
var spritex:Sprite = new Sprite();
spritex.graphics.beginFill(0xFF0000);
spritex.graphics.drawRect(0,0,50,50);
spritex.graphics.lineStyle(1,0x333333,1,false,"none");
spritex.name="obj1";
spritex.addEventListener(MouseEvent.MOUSE_DOWN,mostrarColor);
objx.addChildAt(spritex,0);
//Genero otro SPRITE
var spritey:Sprite = new Sprite();
spritey.graphics.beginFill(0x000000);
spritey.graphics.drawRect(100,0,50,50);
spritey.name="obj2";
spritey.x=50;
stage.addChildAt(spritey,1);
//Genero un BITMAP
function mostrarColor(e:Event):void
{
var bmd:BitmapData = new BitmapData(e.target.width, e.target.height, true);
bmd.draw(objx.getChildByName(e.target.name));
var intVal:int = bmd.getPixel(mouseX, mouseY);
trace(intVal);
var hexVal:String ="0x" + intVal.toString(16);
trace(hexVal);
var miColor:ColorTransform=transform.colorTransform;
miColor.color=uint(hexVal);
//miColor.color=0x00CC00;
//trace(miColor.color);
stage.getChildByName("obj2").transform.colorTransform = miColor;
}
El código anterior funciona correctamente, hago click sobre el sprite rojo tomo su color y se lo aplico al sprite negro. Pero ahora en el siguiente código, activo la linea 14 que lo único que hace es mover un sprite y ya no funciona. Porque pasa esto?
Código ActionScript :
//import fl.controls.ColorPicker;
//import fl.events.ColorPickerEvent;
import flash.geom.*;
import flash.events.Event;
import flash.ui.Mouse;
import flash.display.Sprite;
//Genero un contenedor para sprite
var objx:Sprite = new Sprite();
objx.graphics.beginFill(0xDDDDDD);
objx.graphics.drawRect(0,0,55,55);
objx.graphics.lineStyle(1,0x333333,1,false,"none");
objx.name="objx";
//objx.x=100;
stage.addChildAt(objx,0);
//Genero un SPRITE
var spritex:Sprite = new Sprite();
spritex.graphics.beginFill(0xFF0000);
spritex.graphics.drawRect(0,0,50,50);
spritex.graphics.lineStyle(1,0x333333,1,false,"none");
spritex.name="obj1";
spritex.addEventListener(MouseEvent.MOUSE_DOWN,mostrarColor);
objx.addChildAt(spritex,0);
//Genero otro SPRITE
var spritey:Sprite = new Sprite();
spritey.graphics.beginFill(0x000000);
spritey.graphics.drawRect(100,0,50,50);
spritey.name="obj2";
spritey.x=50;
stage.addChildAt(spritey,1);
//Genero un BITMAP
function mostrarColor(e:Event):void
{
var bmd:BitmapData = new BitmapData(e.target.width, e.target.height, true);
bmd.draw(objx.getChildByName(e.target.name));
var intVal:int = bmd.getPixel(mouseX, mouseY);
trace(intVal);
var hexVal:String ="0x" + intVal.toString(16);
trace(hexVal);
var miColor:ColorTransform=transform.colorTransform;
miColor.color=uint(hexVal);
//miColor.color=0x00CC00;
//trace(miColor.color);
stage.getChildByName("obj2").transform.colorTransform = miColor;
}
GRACIAS
