Comunidad de diseño web y desarrollo en internet online

reconocer movieclips sin instanciar

Citar            
MensajeEscrito el 10 Sep 2007 08:26 am
Hola!! cómo hago para que Flash reconozca los movieclips que tengo en escena sin instanciar. Tengo miles de botones en escena y son demasiados como para colocarle nombre de instancia a cada uno y todos tienen la misma acción. Cuando hago clic en cada uno de ellos aumenta 1 al contador. ¿Hay alguna forma de hacer esto sin colocar el código dentro del movieclip sino en la linea de tiempo principal?

gracias

Jose
http://aprendeahacerdinero.blogspot.com

Por jose3001

4 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 10 Sep 2007 01:28 pm
¿Estos botones son simplemente botones o son clips de película que funcionan como botones? ¿Están en el escenario o dentro de algún movieclip?

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 10 Sep 2007 01:30 pm
movieclips que tengo en escena sin instanciar

querras decir sin ponerles nombre de instancia, porque al tenerlos en el escenario ya estan instanciados.

Si el comportamiento que definiste es de un movieclip

Código :

for (Boton in _root) {
   if (typeof (_root[Boton]) == "movieclip") {
      _root[Boton].onPress = function () {
         _root.Contador++;
      }
   }
}

Si el comportamiento que definiste es para un boton:

Código :

for (Boton in _root) {
   if (typeof (_root[Boton]) == "object") {
      _root[Boton].onPress = function () {
         _root.Contador++;
      }
   }
}

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 10 Sep 2007 01:49 pm
Pero si algunas vez necesitas poner nombre de instancia a muchos Movieclips, con el mismo prefijo y un numero consecutivo, entonces puedes hacer lo siguiente:
1) crear un archivo llamado "NombreSecuencial.jsfl" editalo con el block de notas y coloca el siguiente codigo (esta en lenguaje JavaScript para Flash)

Código :

// *****************************************************************************
// Coloca como nombre de las instancias seleccionadas un prefijo y un consecutivo.
// hisayuki takagi | www.wildcard.jp.org
// *****************************************************************************
var cur_doc = fl.getDocumentDOM();
var ui = cur_doc.xmlPanel(fl.configURI + "Commands/NombreSecuencial.xml");
var sa = new Array();

for(var i1=0; i1<cur_doc.selection.length; i1++){
   if(cur_doc.selection[i1].elementType == "instance" || cur_doc.selection[i1].elementType == "text"){
      sa.push({obj:cur_doc.selection[i1],pos:cur_doc.selection[i1].top*1000+cur_doc.selection[i1].left});
   }
}
sa.sort(cmp_pos);
function cmp_pos(a, b) {return a.pos - b.pos;}

for(var i1=0; i1<sa.length; i1++){
   var n1 = ui.prefix+ (i1+1);
   sa[i1].obj.name = n1;
}



2) crea otro archivo llamado "NombreSecuencial.xml", editalo con el block de notas y coloca el siguiente codigo (escrito en XML User Interface Language -XUL):

Código :

<dialog id="ui" title="SetPrefix" buttons="accept, cancel">
<grid>
 <columns>
  <column/>
  <column/>
 </columns>
 <rows>
  <row>
    <label value="prefix:   " control="prefix" />
      <textbox id="prefix" /> 
  </row>
 </rows>
</grid>
</dialog>

estos dos archivos colocalos en la carpeta:

Código :

C:\Documents and Settings\<usuario>\Configuración local\Datos de programa\Macromedia\Flash 8\<lenguaje>\Configuration\Commands

donde:
<usuario> lo tienes que sustituir por el nombre de usuario que usas para entrar a windows y
<lenguaje> lo sustituyes por "es" o "en" (sin comillas) según el idioma en que tengas instalado flash

3) Desde flash, seleccionas todos los clips a los que quieres ponerles un nombre con un prefijo y un numero consecitivo

4) Abres el menu "Comandos" y debe aparecer el nombre "NombreSecuencial", el cual seleccionas, y se ejecuta el script, y te presenta una ventanita donde tienes que capturar el prefijo que llevaran los nombres de instancia, y luego oprimes OK, y todos los clips que seleccionaste aparecerán con el nombre de instancia que capturaste y un numero consecutivo, ordenado de acuerdo a su posición, los primeros son los que se encuentran en la parte superior izquierda, y los ultimos son los que se encuentran en la parte inferior derecha.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 10 Sep 2007 05:55 pm
Gracias Gabynufe!! ese script es una maravilla!! jajaa... ya pude colocar las instancias... sin embargo, el primer código que das va a funcionar con todos las instancias que estén en escena, cierto? Existe alguna forma que reconozca solo las instancias que corresponden a un movieclip específico?

gracias mil!!!


Jose
http://aprendeahacerdinero.blogspot.com

Por jose3001

4 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 11 Sep 2007 01:20 am
Con el primer codigo puedes diferenciar un movieclip de otro comparando su tamaño, o su posición, si es que tienen un valor fijo.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7

 

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