No podría ser que como no pones un updateAfterEvent() al redibujar, no es que pierdas rendimiento, sino "resolución" en fotogramas para que no salte la peli?
Un saludo, David Bravo Dimensión Multimedia, S.L. -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Javier Fernández Enviado el: sábado, 03 de diciembre de 2005 22:14 Para: [email protected] Asunto: Re: [ASNativos] Perdida de rendimiento moviendo mcs creados con laAPI de dibujo Bueno, estoy flipando, ahora pruebo a attachear el mc mascara en lugar de pintarlo y sufre la misma pérdida de rendimiento. :( ----- Original Message ----- From: "Javier Fernández" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Saturday, December 03, 2005 10:03 PM Subject: [ASNativos] Perdida de rendimiento moviendo mcs creados con la API de dibujo > Hola listeros, a ver si me pueden aclarar una cosa que acabo de descubrir y > me ha dejado anodado. > > Tengo una serie de pestañas que desplazan unas mascaras para mostrar ocultar > unos mcs (tipo el componente acordeon pero 'custom', porque el > funcionamiento requerido no era el mismo). > > En un principio había 4 pestañas y cuatro mascaras para los cuatro mcs de > contenido, ahora me pongo a pulirlo un poco y elimino las mascaras para > crearlas con createEmptyMovieClip y la API de dibujo de flash (por dejarlo > más limpito) y me encuentro que -con exactamente la misma programación salvo > el detalle de las mascaras- las mascaras creadas con este otro método > acumulan un retardo que hace que al arrastrar no vayan parejas a las > pestañas. > > Como no se si me explico muy bien he subido una comparativa para que podais > ver del efecto indeseable del que hablo > (http://drusunlimited.com/labo/asnativos/miAcordeon/) > > Mi pregunta es ¿a que se debe esta perdida de rendimiento? > > La mascara es un cuadrado normal y corriente, la creo de este modo: > > [code] > var mask_mc:MovieClip = _root.createEmptyMovieClip("mask"+i+"_mc", > _root.getNextHighestDepth()); > mask_mc.beginFill(0x00FF00, 100); > mask_mc.lineStyle(0, 0x00FF00, 0); > mask_mc.moveTo(0, 0); > mask_mc.lineTo(915, 0); > mask_mc.lineTo(915, 660); > mask_mc.lineTo(0, 660); > mask_mc.endFill(); > [/code] > > El codigo del movimiento es algo más complejo dado que las solapas no se > pinchan sino que se arrastran, y deben empujar las que tengan delante, o > atrás, dependiendo a que lado estén apiladas, pero dudo que esté ahí el > error porque si las mascaras las creo en tiempo de diseño este retardo no se > produce. Por si acaso os pego la función: > > [code] > fStartDrag = function () { > var inc:Number = 15; > dragger_mc._x = this._x; > startDrag("dragger_mc", false, this.miXmin-15, 0, this.miXmax+15, 0); > for (var j = 0; j<=numsolapas; j++) { > var solapa:MovieClip = _root["solapa"+j+"_mc"]; > var mask_mc:MovieClip = _root["mask"+j+"_mc"]; > mask_mc.onEnterFrame = function() { > if (this.miID<numsolapas) { > this._x = _root["solapa"+this.miID+"_mc"]._x-915; > } else { > this._x = _root["solapa"+this.miID+"_mc"]._x+15; > } > }; > //Si arrastro una que está a la izquierda > if (this.lado == "izquierda") { > //arrastro todas la que estén a su derecha pero situadas a la izquierda > if (solapa.miID>=this.miID && solapa.lado == "izquierda") { > solapa.inc = 15+(j-this.miID)*15; > solapa.onEnterFrame = function() { > this._x = dragger_mc._x+this.inc; > }; > } > } > if (this.lado == "derecha") { > //arrastro todas la que estén a su izquierda pero situadas a la derecha > if (solapa.miID<=this.miID && solapa.lado == "derecha") { > solapa.inc = 15+(this.miID-j)*15; > solapa.onEnterFrame = function() { > this._x = dragger_mc._x-this.inc; > }; > } > } > } > }; > [/code] > > Muchas gracias de antemano y un saludo. > Javier Fernández > ------------------------------------------ > [ http://drusunlimited.com ] > > ---------------------------------- > Lista ASNativos:[email protected] > http://www.5dms.com/listas > ---------------------------------- ---------------------------------- Lista ASNativos:[email protected] http://www.5dms.com/listas ---------------------------------- ---------------------------------- Lista ASNativos:[email protected] http://www.5dms.com/listas ----------------------------------

