Comunidad de diseño web y desarrollo en internet online

Problema con clase y objetos de visualizacion.

Citar            
MensajeEscrito el 25 Oct 2007 09:00 pm
Buenas a todos, estoy pegandole un poquito a AS3 y la verdad es que me encanta pero me esta costando un poco. Me he liado un poco con el tema de crear una clase desde la cual quiero dibujar un grafico tipo ecualizador. Me lio con el tema de saber donde he de pintar, contenedores y paso de objetos. Mas o menos lo que he hecho es esto.

Código :

package {
   import flash.display.MovieClip;
   import flash.display.Shape;
   import flash.display.Sprite;
   import flash.events.Event;
   import flash.net.URLLoader;
   import flash.net.URLRequest;
   
   public class musicPlayer {
      var canciones:Array = new Array();
      var tipoReproductor:int;
      var objParentEcu:Object;
   
      function musicPlayer(tReproductor:int, archXML:String, obj:Object) {
         
         var loader:URLLoader = new URLLoader();
         var request:URLRequest = new URLRequest(archXML);
         
         tipoReproductor = tReproductor;
         objParentEcu = obj;

         loader.load(request);
         loader.addEventListener(Event.COMPLETE, onLoaderXMLComplete);
      }
      //************************************ FUNCIONES PRIVADAS *************************************
      private function createEcu(){
         var ecualizador:MovieClip = new MovieClip();
         objParentEcu.addChild(ecualizador);
   
         for (var i = 0; i<30; i++) {
            ecualizador["punto"+i] = new Shape();
            ecualizador.addChild(ecualizador["punto"+i]);
            
            ecualizador["punto"+i].graphics.lineStyle(2,0xFFFFFF, .75);
            ecualizador["punto"+i].graphics.moveTo(300+(i*3),300);
            ecualizador["punto"+i].graphics.lineTo(300+(i*3),299);
         }
      }
      //***************************************** EVENTOS *******************************************
      private function onLoaderXMLComplete(event:Event):void {
         var listaXML:XML = new XML(event.target.data);
         var nCanciones:int = listaXML.canciones.item.length();
         
         for (var i:int = 0; i < nCanciones; i++) {
            canciones.push({titulo:listaXML.canciones.item[i].@titulo, href:listaXML.canciones.item[i].@href });
         }
         createEcu();
      }
   }


el code que tengo en el fla ahora mismo es este:

var myPlayer:musicPlayer = new musicPlayer(0,"listaCanciones.xml",this);

el problema lo tengo en el codigo que estoy metiendo en createEcu(). Y en que no se exactamente que objeto tengo que pasarle al constructor en el parametro obj:Object o si me sobra. No termino de tener eso claro asi que agradeceria a alguien que me lo pudiese explicar.

Un Saludo y gracias de antemano.

Por Jbom

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Oct 2007 02:54 pm
En el parametro obj:Object debes pasar el objeto donde se creará el musicPlayer, en este caso le estas pasando "this", por lo que el musicPlayer se creará en el objeto donde creas el nuevo musicPlayer.

Y el código que pusiste en createEcu lo que te hace es hacer lineas horizontales del tamaño de un pixel (mas bien son puntos).
Para que parezca ecualizador tienes que variar el numero 299 por uno aleatorio

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 26 Oct 2007 07:01 pm
@gabynufe: El codigo que tengo lo entiendo bien, son puntos lo que quiero hacer, lo que no me entero es donde estoy pintando. Como bien dices le paso this como parametro, pero por pasar algo pues en el fla solo existe ese codigo y no hay ningun movieclip ni nada en el escenario. No se si me explico.

Por Jbom

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Oct 2007 02:38 pm
al estarle pasando "this", le pasas como parametro el movieclipPrincipal, o mejor dicho la instancia del escenario, por lo que tu ecualizador lo pinta en un movieclip llamado "ecualizador" que se agrega al escenario (lo que antes se llamaba "_root").

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.