Hola again
Bueno, pues he estado modificando el código para que funcione en as3 y aquí esta lo que tengo hasta ahora
Código actionscript:
Ver originalimport flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.filters.GlowFilter;
import flash.geom.ColorTransform;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
///////////////ZOOM de mapa///////////////////
// s --> smalll --> larged --> drag
// w --> widthh --> height
var sw:Number = 215;
var sh:Number = 155;
var dw:Number = 25;
var dh:Number = 20;
var lw:Number = 400;
var lh:Number = 320;
var porcentaje_zoom:Number = 25;
this.addEventListener(Event.ENTER_FRAME, test);
function test(e:Event):void{
MovieClip.prototype.move = function(drag_mc) {
this.onEnterFrame = function() {
with (stage) {
this.x = -pequeno_mc.drag_mc.x*100/porcentaje_zoom;
this.y = -pequeno_mc.drag_mc.y*100/porcentaje_zoom;
}
};
};
}
grande_mc.btn_3.addEventListener(MouseEvent.CLICK, filtros);
grande_mc.btn_4.addEventListener(MouseEvent.CLICK, filtros);
pequeno_mc.drag_mc.buttonMode = true;
pequeno_mc.drag_mc.addEventListener(MouseEvent.MOUSE_DOWN, startDr);
pequeno_mc.drag_mc.addEventListener(MouseEvent.MOUSE_UP, stopDr);
pequeno_mc.pequeno2_mc.btn_1.addEventListener(MouseEvent.CLICK, filtros);
pequeno_mc.pequeno2_mc.btn_2.addEventListener(MouseEvent.CLICK, filtros);
function startDr(e:MouseEvent):void
{
this.startDrag(false, new Rectangle(0, 0, sw-dw, sh-dh));
this.grande_mc.grande2_mc.move(this);
}
function stopDr(e:MouseEvent):void
{
this.stopDrag();
delete this.grande_mc.grande2_mc.onEnterFrame;
}
function filtros(e:MouseEvent):void
{
//Poner un filtro al botón
import flash.filters.*;
//----------------------------------
// color de la sombra
var alpha:Number = 0.9;
//ALPHA pero valor maximo 1
var blurX:Number = 16;
//blur del eje X maximo 255
var blurY:Number = 16;
//igual q blurX
var fuerza:Number = 1;
//la fuerza de impresion de la sombra MAX 255
var calidad:Number = 3;
//arrays
var array1:Array = new Array();
var array2:Array = new Array();
//filter
var p:GlowFilter;
//mc
var bt:SimpleButton;
var mc:MovieClip;
if ( e.target.name == "btn_3" )
{
p = new GlowFilter(0x666666, 1, 10, 10, 1.5, 100);
bt = grande_mc.btn_3;
//Elimina el filtro del anteriror botón
grande_mc.btn_4.filters = array2;
}
else if( e.target.name == "btn_4" )
{
p = new GlowFilter(0x666666, 1, 10, 10, 1.5, 100);
bt = grande_mc.btn_4;
//Elimina el filtro del anteriror botón
grande_mc.btn_3.filters = array2;
}
else if( e.target.name == "btn_1" )
{
p = new GlowFilter(0xFF0000, 1, 10, 10, 1.5, 100);
mc = grande_mc.color1_mc;
//Elimina el filtro del anteriror botón
grande_mc.color2_mc.filters = array2;
}
else if( e.target.name == "btn_2" )
{
p = new GlowFilter(0xFF0000, 1, 10, 10, 1.5, 100);
mc = grande_mc.color2_mc;
//Elimina el filtro del anteriror botón
grande_mc.color1_mc.filters = array2;
}
//agregar filtros
array1.push(p);
if (mc)
{
mc.filters = array1;
}
else
{
bt.filters = array1;
}
}
Con esto ya sirven los botones, y el drag lo hace pero no termino de entender bien aún como funciona eso de prototype
si pudieras contarnos más respecto a esa sección del código o tal vez alguien que lo haya manejado más tal vez nos comente sobre esto
saludos