Comunidad de diseño web y desarrollo en internet online

Como Manejar eventos en clases.

Citar            
MensajeEscrito el 29 Jun 2010 04:45 pm
Mi idea es crear una clase boton... que me permita crear muchas instancias de ella
y cuando el usuario de clic a cualquiera de los botones...
ejecutar algun codigo. Tenia pensado algo como esto:

Código ActionScript :

class boton extends MovieClip {
   //          Variables Publicas...

   //          Variables Privadas...
   private static var NumObj:Number=0;  //Control de Instancias creadas   
   private var ObjNum:Number;           //Almacena que numero de objeto se a creado
   private var lX,lY:Number;            //Cordenadas del objeto   
   private var Clip_mc:MovieClip;
   private var i:Number;
      
   public function boton(){   //Creara los clips de pelicula que contendra el boton
      ObjNum=NumObj;
       arguments[0].createEmptyMovieClip("bot"+ObjNum+"_mc",arguments[1]);//Crea el clip
      Clip_mc=arguments[0]["bot"+ObjNum+"_mc"];
      trace(Clip_mc);
      NumObj++;
      Clip_mc.onMauseDown=function(){
                                           trace("siii");
                                }
   }//*****
}// fin de la clase

Pero al probarlo... nada.. no detecta el clic a ningun boton.... no se en que estoy mal alguien me puede ayudar??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 03 Jul 2010 11:54 am
¿ Clip_mc.onMauseDown ? ¿WTF?

Intenta poniendo:

Código ActionScript :

this.onPress = function(){
  trace("Hace click")
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Jul 2010 09:44 pm
mmmmmmmm noooo no funciono ya puse el codigo que me pasaste y no me queda... por favor dime que estoy haciendo mal
tengo el cs4
y el codigo esta en AS2
ayudaaaaaaa.......

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 05 Jul 2010 11:29 pm
¿Donde lo pusiste?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Jul 2010 07:33 pm
dentro del constructor de la clase

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 06 Jul 2010 07:34 pm
Lo quiero hacer asi para que automaticamente la clase detecte cuando se le da clic a alguna de sus instancias...
y ya nadamas tratarlo en alguna variable o algo asi

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 06 Jul 2010 07:37 pm
¿A que quieres asignar el evento? Si es a Clip_mc pon:

Clip_mc.onPress = function(){
trace("Hace click")
}

La clase es medio pastiche, usas arguments para createEmptyMovieClip ... anyway, try it

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Jul 2010 03:51 pm
jjaajajajaj si es que son dos cuestiones una va a ser generica he incluso podra crearse instancias sin parametros
y los parametros con los que se iniciara son variados... pero me atore en eso de los eventos... haaaaaa no me quedooo que estoy haciendo mallll mira este es mi constructor..

Código ActionScript :

public function boton(){   //Creara los clips de pelicula que contendra el boton
      ObjNum=NumObj;
       arguments[0].createEmptyMovieClip("bot"+ObjNum+"_mc",arguments[1]);//Crea el clip con valor de instancia 
      Clip_mc=arguments[0]["bot"+ObjNum+"_mc"];
      NumObj++;
      [h2]Clip_mc.onPress=function(){
         trace("Clic");
      }[/h2]      
   }//*************************************************************************************

Y lo que no entiendo es por que en el ejemplo que tienen de un tutorial a qui de ventanas si funciona el codigo asi mira a qui esta su constructor:

Código ActionScript :

function Ventana(h, w, mc, titulo, padre, n) {
      this.n=n;
      this._padre=padre;
      
      this._padre.createEmptyMovieClip("ventana" + n,n + 1100);
         this.miVentana = this._padre["ventana"+n];
//         this.miVentana._height = h;
//         this.miVentana._width = w;
      this.miVentana.createEmptyMovieClip("BarraSuperior",n + 1150);
         this.miVentana.BarraSuperior._x= 0;
         this.miVentana.BarraSuperior._y= 0;
         this.miVentana.BarraSuperior.onMouseDown = function(){
            if (this._xmouse>=0 && this._xmouse<=w && this._ymouse>=0 && this._ymouse<=23)
               startDrag(this._parent);
         }
         [h2]this.miVentana.BarraSuperior.onMouseUp = function(){
            stopDrag();
         }[/h2]

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 07 Jul 2010 03:52 pm
ante todo gracias por ayudar a este sonso... a lo de h2 quise remarcarlo no esta en el codigo

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 07 Jul 2010 03:54 pm
para poder asignar un onPress tienes que:

- identificar el objeto en cuestión (por aquí viene tu fallo, no sabes exactamente donde estas parado)
- agregar el onPress (esto es trivial)

El ejemplo es rebuscado y bastante poco generalizable, busca desde lo simple

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Jul 2010 08:09 pm
mmmmmmm.... no entiendo?? crei saber donde estaba... segun yo... de echo el codigo es similar alde ventanas del tutorial.. pero con la diferencia de que no me gusta declarar tanta variable como lo hacen muchos programadores...

que es lo simple?? estoy habierto a todas las posibilidades...

Pero que se acemeje a lo que necesito.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8

 

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