Comunidad de diseño web y desarrollo en internet online

Problemas con ComboBox y MovieClip

Citar            
MensajeEscrito el 01 Nov 2006 02:24 pm
Hola!....Tengo el siguiente problema, en la escena principal tengo un MC "canvas_mc" que es donde se dibuja un rectangulo cuando se mantiene apretado el boton del mouse. El codigo es el siguiente.

Código :

this.createEmptyMovieClip("canvas_mc", this.getNextHighestDepth());
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() {
    this.isDrawing = true;
    this.orig_x = _xmouse;
    this.orig_y = _ymouse;
    this.target_mc = canvas_mc.createEmptyMovieClip("", canvas_mc.getNextHighestDepth());
};
mouseListener.onMouseMove = function() {
    if (this.isDrawing) {
        this.target_mc.clear();
        this.target_mc.lineStyle(1, 0xFF0000, 100);
        this.target_mc.moveTo(this.orig_x, this.orig_y);
        this.target_mc.lineTo(_xmouse, this.orig_y);
        this.target_mc.lineTo(_xmouse, _ymouse);
        this.target_mc.lineTo(this.orig_x, _ymouse);
        this.target_mc.lineTo(this.orig_x, this.orig_y);
    }
    updateAfterEvent();
};
mouseListener.onMouseUp = function() {
    this.isDrawing = false;
};
Mouse.addListener(mouseListener);

Ademas, arriba del MC "canvas_mc" tengo un combobox, que cuando este se abre la lista desplegable se superpone con el MC "canvas_mc" y al seleccionar un item de la lista o mantener apretado el boton del mouse se efectua el evento onMouseDown y comienza a dibujar el rectangulo en el MC. Quiero evitar esto, probe metiendo el ComboBox en un MC y despues verificar si se superponen con el metodo hitTest(), esto funcionan solamente la primera vez que se despliega la lista desplegable del combobox. Despues aunque no esta desplegada la lista el metodo hitTest() me dice que se superponen los MC, esto supongo que es debido a que cuando se desplieega la lista del combobox aumenta el alto del MC que lo contiene y luego no vuelve a su tamaño original, probe cambiando el "_height" del MC pero distorciona el combobox y no se puede visualizar la lista.
Si tienen alguna idea se los agradezco.
Gracias!!

Por mansonet

30 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 03 Nov 2006 05:30 am
se haría así:

Código :

this.createEmptyMovieClip("canvas_mc", this.getNextHighestDepth());
var mouseListener:Object = new Object();
var canDraw:Boolean = true;
function open(){
   canDraw = false;
}
function close(){
   canDraw = true;
}
mouseListener.onMouseDown = function() {
    this.isDrawing = true;
    this.orig_x = _xmouse;
    this.orig_y = _ymouse;
    this.target_mc = canvas_mc.createEmptyMovieClip("", canvas_mc.getNextHighestDepth());
};
mouseListener.onMouseMove = function() {
    if (this.isDrawing && canDraw) {
        this.target_mc.clear();
        this.target_mc.lineStyle(1, 0xFF0000, 100);
        this.target_mc.moveTo(this.orig_x, this.orig_y);
        this.target_mc.lineTo(_xmouse, this.orig_y);
        this.target_mc.lineTo(_xmouse, _ymouse);
        this.target_mc.lineTo(this.orig_x, _ymouse);
        this.target_mc.lineTo(this.orig_x, this.orig_y);
    }
    updateAfterEvent();
};
mouseListener.onMouseUp = function() {
    this.isDrawing = false;
};
cb.addEventListener("open", this);
cb.addEventListener("close", this);
Mouse.addListener(mouseListener);


Saludos

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 03 Nov 2006 11:23 am
Hola Cep. Muchas gracias por la respuesta. Pero estaba buscando algo mas general para poder poner mas de un ComboBox y no estar escribiendo codigo para cada uno de los ComboBox en los eventos "open" y "close". Aunque podria poner un solo codigo Script de "open" para todos los ComboBox?? asi mismo el de "close" seria posible?...mmm lo voy a probar.
Bueno Gracias!!!!
Saludos!

Por mansonet

30 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 03 Nov 2006 04:53 pm
Sip, lo único que tienes que agregarle los eventos a tus comboBox

Código :

cb.addEventListener("open", this);
cb.addEventListener("close", this);

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox

 

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