Re: [ASNativos] [AS3] Extendiendo Sprite

2007-12-15 Por tema Zárate
Pues de nuevo en casa, efectivamente el problema era la visibilidad de
los métodos entre clases que están en diferentes packages.

Para el que venga detrás, si quieres extender de una clase que está en
otro package, en la clase principal tienes que declarar el método como
protected. Y en la clase hija tienes que declarar el método como
overrride protected. Eso sin contar con que el tipo devuelto por la
función y el número de parámetros *tienen* que coincidir exactamente.

Gracias familia.

On Dec 14, 2007 9:39 AM, Zárate [EMAIL PROTECTED] wrote:
 Vale, aunque no tengo el código delante, creo que es el problema de la
 visibilidad a otros packages.

 Porque la clase principal está en tv.zarate.app.* y la que extiende en
 tv.zarate.projects.* así que tendré que poner protected. Gracias por
 el apunte : ) Ahora, el compilador podría ser un poco más clarito y
 decir algo como:

 Pero joder, no te das cuenta que tienes que poner protected??? Está
 en el libro de Moock, página XXX. :)

 Y sobre composición/herencia ya me las apañaré para usar composición :D

 Gracias!


 On Dec 14, 2007 9:22 AM, Joseba Alonso [EMAIL PROTECTED] wrote:
  Buenas,
 
  Yo estoy Xavi, creo que el problema es que las estas definiendo en
  internal, igual no los métodos, que eso estarás acostumbrado en AS2 a
  ponerlos con atributo, pero sí la propia clase, que era costumbre no
  marcarla con ningún atributo. Tienes puesto class Application en vez de
  public class Application?
 
  Otra cosa que me extraña es lo del tema de la inicialización. En AS2 siempre
  ha habido un montón de problemas con eso, pero en AS3 a mi ya no me dan
  guerra, es decir, joder, se puede utilizar el constructor de un Sprite para
  empezar a hacer cosas, no hace falta ya esperar a un onLoad ni un
  fotograma, ni nada parecido. ¿Dónde has leído eso?
 
  Suerte con AS3, es totalmente distinto siendo el mismo lenguaje, hay que
  re-educarse en un monton de cosas!! Pero merece la pena...
 
 
  Joseba Alonso Pérez
  www.sidedev.net
  www.5dms.com
 
 
   -Mensaje original-
   De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En
   nombre de Zárate
   Enviado el: jueves, 13 de diciembre de 2007 23:47
   Para: ASNativos
   Asunto: [ASNativos] [AS3] Extendiendo Sprite
 
  
   Buenas!
  
   Ando trasteando lo que puedo con AS3 y como es normal me encuentro con
   cosas raras. Para empezar no uso ni Flex ni el IDE de Flash, sólo
   AS3.
  
   Por lo que parece, extender de Sprite/MovieClip está de moda. Yo  en
   AS2 era fan de NO hacerlo utilizando composición y tal. Como digo,
   todo lo que me encuentro en AS3 no funciona así. Para muestra, este
   post de Moock:
  
   http://www.moock.org/blog/archives/000248.html
  
   Acepto barco y extiendo de Sprite. Mi idea es:
  
   - Crear una clase básica llamada Application que extiende de Sprite.
   - Que todas mis aplicaciones extiendan de Application para reusar
   código. Vamos, lo normal.
  
   Pues no me cuadran las cuentas. Si intento llamar a un método de
   Application desde una clase hija, me encuentro con esto:
  
   Call to a possibly undefined method
  
   Buscando en Google la discusión se centra en problemas de
   inicialización, pero está todo encuadrado en gente usando Flex, por lo
   que no me vale.
  
   Y si intento sobre-escribir un método de la clase padre así:
  
   override private function wadus():void{}
  
   Me tira esto el compilador:
  
   Method marked override must override another method
  
   El nombre del método y coincide. También el número de parámetros y el
   tipo devuelto.
  
   No sé, tiene que ser algo de primero de AS3, pero no lo veo.
  
   Gracias!
  
   --
   Juan Delgado - Zárate
   http://zarate.tv
   http://dandolachapa.com
   http://loqueyosede.com
  
 
   -
   ASNativos
   www.5dms.com
   subscripciones/desubscripciones
   http://asnativos.5dms.com
   -
 
 
  -
  ASNativos
  www.5dms.com
  subscripciones/desubscripciones
  http://asnativos.5dms.com
  -
 



 --

 Juan Delgado - Zárate
 http://zarate.tv
 http://dandolachapa.com
 http://loqueyosede.com




-- 
Juan Delgado - Zárate
http://zarate.tv
http://dandolachapa.com
http://loqueyosede.com

-
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-


Re: [ASNativos] [AS3] Extendiendo Sprite

2007-12-14 Por tema Fede Rivas
Ummm ... No se que ocurre, pero no he recibido el mensaje de Zarate ,  
lo he tenido que leer a partir de esta respuesta.

No se pueden sobreescribir metodos privados, unicamente publicos o  
protected, tal como comenta Javi Fernandez.

En cuanto al dilema herencia vs composicion, como yo era de los de  
herencia, estoy encantao con AS3 :D

Salu2!

Fede.


El 14/12/2007, a las 1:25, xavier escribió:

 Buenas

 Hola Zárate

 ¿Has puesto algún modificador de acceso delante de la declaración  
 del método?

 Lo digo porque ahora en AS3 cualquier clase, método o propiedad por  
 defecto lo declara como internal lo cual quiere decir que sólo hay  
 visibilidad para dichos métodos dentro de un mismo package. Si por  
 un casual tus subclases se encontrasen en un package distinto, no  
 tendrían acceso a dicho método.

 En  dicho caso, tendrías que usar o bien protected que haría  
 visible el método en toda la cadena de herencia (aunque estén en  
 distintos packages) o por supuesto public

 Si no es eso, me dejas descolocado...

 P.D Yo también era Fan de la composición y la verdad es que me estoy  
 acostumbrando bstante bien a extender de MC.



 *** REPLY SEPARATOR  ***

 On 13/12/2007 at 22:47 Zárate wrote:

 Buenas!

 Ando trasteando lo que puedo con AS3 y como es normal me encuentro  
 con
 cosas raras. Para empezar no uso ni Flex ni el IDE de Flash, sólo
 AS3.

 Por lo que parece, extender de Sprite/MovieClip está de moda. Yo  en
 AS2 era fan de NO hacerlo utilizando composición y tal. Como digo,
 todo lo que me encuentro en AS3 no funciona así. Para muestra, este
 post de Moock:

 http://www.moock.org/blog/archives/000248.html

 Acepto barco y extiendo de Sprite. Mi idea es:

 - Crear una clase básica llamada Application que extiende de  
 Sprite.
 - Que todas mis aplicaciones extiendan de Application para reusar
 código. Vamos, lo normal.

 Pues no me cuadran las cuentas. Si intento llamar a un método de
 Application desde una clase hija, me encuentro con esto:

 Call to a possibly undefined method

 Buscando en Google la discusión se centra en problemas de
 inicialización, pero está todo encuadrado en gente usando Flex, por  
 lo
 que no me vale.

 Y si intento sobre-escribir un método de la clase padre así:

 override private function wadus():void{}

 Me tira esto el compilador:

 Method marked override must override another method

 El nombre del método y coincide. También el número de parámetros y el
 tipo devuelto.

 No sé, tiene que ser algo de primero de AS3, pero no lo veo.

 Gracias!

 -- 
 Juan Delgado - Zárate
 http://zarate.tv
 http://dandolachapa.com
 http://loqueyosede.com

 -
 ASNativos
 www.5dms.com
 subscripciones/desubscripciones
 http://asnativos.5dms.com
 -

 __ NOD32 2721 (20071213) Information __

 This message was checked by NOD32 antivirus system.
 http://www.eset.com




 -
 ASNativos
 www.5dms.com
 subscripciones/desubscripciones
 http://asnativos.5dms.com
 -



-
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-


Re: [ASNativos] [AS3] Extendiendo Sprite

2007-12-14 Por tema Joseba Alonso
Buenas,

Yo estoy Xavi, creo que el problema es que las estas definiendo en
internal, igual no los métodos, que eso estarás acostumbrado en AS2 a
ponerlos con atributo, pero sí la propia clase, que era costumbre no
marcarla con ningún atributo. Tienes puesto class Application en vez de
public class Application?

Otra cosa que me extraña es lo del tema de la inicialización. En AS2 siempre
ha habido un montón de problemas con eso, pero en AS3 a mi ya no me dan
guerra, es decir, joder, se puede utilizar el constructor de un Sprite para
empezar a hacer cosas, no hace falta ya esperar a un onLoad ni un
fotograma, ni nada parecido. ¿Dónde has leído eso?

Suerte con AS3, es totalmente distinto siendo el mismo lenguaje, hay que
re-educarse en un monton de cosas!! Pero merece la pena...


Joseba Alonso Pérez
www.sidedev.net
www.5dms.com


 -Mensaje original-
 De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En
 nombre de Zárate
 Enviado el: jueves, 13 de diciembre de 2007 23:47
 Para: ASNativos
 Asunto: [ASNativos] [AS3] Extendiendo Sprite
 
 Buenas!
 
 Ando trasteando lo que puedo con AS3 y como es normal me encuentro con
 cosas raras. Para empezar no uso ni Flex ni el IDE de Flash, sólo
 AS3.
 
 Por lo que parece, extender de Sprite/MovieClip está de moda. Yo  en
 AS2 era fan de NO hacerlo utilizando composición y tal. Como digo,
 todo lo que me encuentro en AS3 no funciona así. Para muestra, este
 post de Moock:
 
 http://www.moock.org/blog/archives/000248.html
 
 Acepto barco y extiendo de Sprite. Mi idea es:
 
 - Crear una clase básica llamada Application que extiende de Sprite.
 - Que todas mis aplicaciones extiendan de Application para reusar
 código. Vamos, lo normal.
 
 Pues no me cuadran las cuentas. Si intento llamar a un método de
 Application desde una clase hija, me encuentro con esto:
 
 Call to a possibly undefined method
 
 Buscando en Google la discusión se centra en problemas de
 inicialización, pero está todo encuadrado en gente usando Flex, por lo
 que no me vale.
 
 Y si intento sobre-escribir un método de la clase padre así:
 
 override private function wadus():void{}
 
 Me tira esto el compilador:
 
 Method marked override must override another method
 
 El nombre del método y coincide. También el número de parámetros y el
 tipo devuelto.
 
 No sé, tiene que ser algo de primero de AS3, pero no lo veo.
 
 Gracias!
 
 --
 Juan Delgado - Zárate
 http://zarate.tv
 http://dandolachapa.com
 http://loqueyosede.com
 
 -
 ASNativos
 www.5dms.com
 subscripciones/desubscripciones
 http://asnativos.5dms.com
 -


-
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-


Re: [ASNativos] [AS3] Extendiendo Sprite

2007-12-13 Por tema xavier
Buenas

Hola Zárate

¿Has puesto algún modificador de acceso delante de la declaración del método?

Lo digo porque ahora en AS3 cualquier clase, método o propiedad por defecto lo 
declara como internal lo cual quiere decir que sólo hay visibilidad para 
dichos métodos dentro de un mismo package. Si por un casual tus subclases se 
encontrasen en un package distinto, no tendrían acceso a dicho método.

En  dicho caso, tendrías que usar o bien protected que haría visible el 
método en toda la cadena de herencia (aunque estén en distintos packages) o por 
supuesto public

Si no es eso, me dejas descolocado...

P.D Yo también era Fan de la composición y la verdad es que me estoy 
acostumbrando bstante bien a extender de MC.



*** REPLY SEPARATOR  ***

On 13/12/2007 at 22:47 Zárate wrote:

Buenas!

Ando trasteando lo que puedo con AS3 y como es normal me encuentro con
cosas raras. Para empezar no uso ni Flex ni el IDE de Flash, sólo
AS3.

Por lo que parece, extender de Sprite/MovieClip está de moda. Yo  en
AS2 era fan de NO hacerlo utilizando composición y tal. Como digo,
todo lo que me encuentro en AS3 no funciona así. Para muestra, este
post de Moock:

http://www.moock.org/blog/archives/000248.html

Acepto barco y extiendo de Sprite. Mi idea es:

- Crear una clase básica llamada Application que extiende de Sprite.
- Que todas mis aplicaciones extiendan de Application para reusar
código. Vamos, lo normal.

Pues no me cuadran las cuentas. Si intento llamar a un método de
Application desde una clase hija, me encuentro con esto:

Call to a possibly undefined method

Buscando en Google la discusión se centra en problemas de
inicialización, pero está todo encuadrado en gente usando Flex, por lo
que no me vale.

Y si intento sobre-escribir un método de la clase padre así:

override private function wadus():void{}

Me tira esto el compilador:

Method marked override must override another method

El nombre del método y coincide. También el número de parámetros y el
tipo devuelto.

No sé, tiene que ser algo de primero de AS3, pero no lo veo.

Gracias!

-- 
Juan Delgado - Zárate
http://zarate.tv
http://dandolachapa.com
http://loqueyosede.com

-
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-

__ NOD32 2721 (20071213) Information __

This message was checked by NOD32 antivirus system.
http://www.eset.com




-
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-