Comunidad de diseño web y desarrollo en internet online

Pregunta de novato sobre as3

Citar            
MensajeEscrito el 08 Sep 2010 06:17 am
Hola, antes q nada me presento, mi nombre es Edoardo y soy d Mexico.

Mi pregunta es:

He visto muchos ejercicios d AS3, donde hacen una clase que se extiende de button por ejemplo:

así: "public class miclase extends Button{ ... }".

Esto q siginifica que voy a poder crear un boton a mi gusto o que solo voy a poder disponer de la propiedades de la clase button??

Si me pueden regalar un ejemplo d esto les agradeceria mucho.


Saludos.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 08 Sep 2010 09:30 am
BuenAS:

AS3 es un lenguaje orientado a objetos y, por tanto, permite hacer que una clase "herede" de otra. O sea, tú te puedes hacer la clase MiBoton que amplíe (extienda) SimpleButton y dicha clase es a todos los efectos un SimpleButton, con la ventaja de que ahora le puedes añadir métodos o propiedades.

Un ejemplo concreto, podrías crear la clase BotonConmutador que amplie (extienda) SimpleButon y hacer, por ejemplo, que se quede resaltado cuando se seleccione (lo que se conoce como un ToggleButton). Ahora bien, el código que hace que ese botón se comporte como un conmutador, DEBES PROGRAMARLO TÚ añadiendo nuevas propiedades/métodos que implementen esta funcionalidad.

El caso más habitual es cuando creas un Swf, tu clase principal debe ampliar Sprite, y verás que todas las clases documento de un Fla amplian Sprite (o en su defecto MovieClip, si la línea de tiempo tiene más de 1 frame).

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 08 Sep 2010 10:16 pm
Como dice Lukanicos, AS3 es POO.

Por como entiendo tu pregunta, efectivamente vas a disponer de las propiedades (y metodos) de la clase Button. Aunque tambien le puedes agregar propiedades y metodos a tu gusto definidas adentro de "miclase"

^^

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

chrome
Citar            
MensajeEscrito el 08 Sep 2010 10:33 pm
Hola yo tengo un problema porque no se bien como sacar los datos a un arraycollection y luego enviarlos a un xml para que este los envie a un php y los de de alta en un base de datos y pues el dato que no e podido sacar del array collection es un id de productoyo hice esta funcion:

//Esta funcion es la que contiene el productId
public function get products():ArrayCollection {
return __products;
}

public function get id_producto():Array{
var con:Array;
var product:Product=null; //pues aqui la variable product hereda todos los tipos de variables que tiene el archivo Producto
for(var i:int=0; i<=numProducts; i++){ //Aqui numProducts es una funcion que me devuelve cuantos productos se pidieron
con[i] =product.productId; //Y aqui a la variable product creada anteriormente le digo que acceda a la variable productId que se encuentra en el archivo Product y que me lo guarde todo esto de uno por uno en un arreglo
var uno:int=con[i]; // aqui cada dato que se va guardando en el arreglo lo paso a una variable para que despues se imprima
trace(uno);
}
return con;
}
despues de esto este rollo lo mando a un archi que contiene codigo xml
<mx:HTTPService id="confirmaciondepedido" result="pedidoOk(event)" showBusyCursor="true" method="POST" url="php/pedido.php" useProxy="false">

//y bueno esto ya lo paso al php pero la onda esta en que cuando hago en php una funcion para vaciar el contenido del arraycollection no imprime nada y es que no se si si esta como jalando el id de producto desde la funcion que yo genera que se llama id_producto.
<mx:request xmlns="">
<id_producto>
{__shoppingCart.id_producto}
</id_producto>


Por favor necesito ayuda, la verdad no e encontrado la forma e inventado varias formas pero ninguna me resulta

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 16 Sep 2010 08:56 am
Wow!! muchas gracias por sus respuestas.

Ahora les tengo otra...

Para que sirven la variables "Class", por ejemplo: "algo:Class"??

y para que sirven la funciones con "override" por ejemplo: "private override function algo():void"

Disculpen si soy algo pregunton, pero estoy muy interesado en aprender y sobre todo hacer mi propio codigo en as3.

Saludo2.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 16 Sep 2010 09:18 am
BuenAS:

Class tipifica algo como "clase"; o sea que es una clase ;) Imagino que habrás visto código donde incrustan assets (fuentes, imágenes, texto...) con [Embed]. Esta etiqueta es el equivalente a tener un símbolo en la biblioteca de Flash exportado para ActionScript e, igualmente, en la biblioteca lo que sueles tener en este caso es una Clase.

Otro caso donde "suele" aparecer es cuando obtienes una clase de la biblioteca de Flash a través de getDefinitionByName();

Verás que con ese "algo:Class", más tarde suelen hacer algo así como:

var miAlgo:algo = new algo();

Por otro lado, "override" sirve para sobreescribir desde una subclase un método de su superclase. Imagina que has creado una clase Vehiculo, con el método curvar (para curvar las ruedas del vehículo), y creas dos más que extienden a Vehiculo (subclases de la anterior), por ejemplo, Coche y Moto. Un coche, en la vida real, curva de distinta forma que una moto, pues seguro que deberás sobreescribir el método "curvar" de Moto para implementar la forma exacta en la que curva una moto.

En la clase Moto harías algo así:

Código ActionScript :

override public function curvar():void
{
   //aquí iría el código que haría curvar las dos ruedas de la moto
}


En la clase Coche harías algo así:

Código ActionScript :

override public function curvar():void
{
   //aquí iría el código que haría curvar las dos ruedas delanteras del coche
}


Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 16 Sep 2010 10:00 am
Wow!! q rapida respuesta, a lo d override ya le entendi, es parecido, sino es q igual a la sobrecarga d metodos en java, no??

mmm a lo d "Class" no le capte muy bien, para q sirve el metodo "getDefinitionByName();"??

Saludos.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 16 Sep 2010 12:09 pm
BuenAS:

¿Para qué sirve getDefinitionByName()? Alguna vez has tenido el problema de tener que instanciar 10, 20, 100... símbolos que tienes en la biblioteca? Pues para eso ;)

Por ejemplo, si tienes un MovieClip exportado para AS en la biblioteca llamado MiPelicula, puedes referirte a él gracias a getDefinitionByName():

Código ActionScript :

var ClaseMiPelicula:Class = getDefinitionByName("MiPelicula") as Class;

this.addChild(new ClaseMiPelicula());


Y habrías añadido al escenario el MovieClip. Esto para 1 no tiene mucho sentido, pero como digo, si tienes 100, llamados MiPelicula_0, MiPelicula_1... con un for, los instancias en un momento.

Un ejemplillo:

Ejemplo de utilización de getDefinitionByName

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 21 Sep 2010 03:17 am
Muchas gracias a todos por sus respuestas, son excelentemente comprensibles hasta para mi :oops:

Lukánicos, muchas gracias por ejemplo!!

Cual es el tamaño ideal para una aplicación en flex 4??

Me habian dicho q era d 960 d ancho por 800 d alto... pero cuando aplico esos tamaños, todo lo q tengo en pantalla se va hacia la izquierda.. por q?

Muchas gracias nuevamente por sus respuestas!!!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 21 Sep 2010 05:52 am
BuenAS:

Para ordenadores de sobremesa/portátiles 960x600 suele ser una medida bastante prudencial. El problema no suele ser el ancho, sino el alto, ya que el usuario suele tener bastantes barras de herramientas que reducen bastante el tamaño del marco.

Con Flex 4 puedes utilizar un layout vertical para que el contenido te salga centrado y pegado a la parte superior. En lugar de vista de código, ponte en vista de diseño y visualmente configura el layout de tu aplicación. Incluso puedes especificar un tamaño mínimo, por debajo del cual se muestran las barras de scroll.

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 22 Sep 2010 05:21 am
Hola Lukánicos, muchas gracias por tu respuesta, efectivamente, ese tamaño se ve mas estilizado, ahora como puedo hacer q el fondo (ya se color o imagen) cubra toda la pagina??, ya q el fondo q tengo solo aparece dentro d la aplicacion d flex y el sobrante q hay en el navegador esta en blanco.

Saludos.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 22 Sep 2010 01:26 pm
BuenAS:

Lo más rápido es que pongas tu proyecto en vista de diseño (en la ventana dondes escribes el código pulsa el botón "design"). A la derecha te debe aparecer un panel llamado Properties; si activas el segundo icono "Categories views" podrás ver todos los métodos/propiedades/eventos... que puedes añadir en tu aplicación. Busca ahí, la propiedad que quieras configurar.

En el caso que comentas, se trata de backgroundColor, que está en el apartado Styles. Pero puedes ir probando con TODO hasta que tu aplicación se vea a tu gusto: cambiar el layout (si quieres que aparezca centrada, alineada arriba...) el tamaño y el tamaño mínimo (mínimo tamaño, por debajo del cual aparecen las barras de scroll), etc.

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome

 

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