Comunidad de diseño web y desarrollo en internet online

Lector rss animado

Citar            
MensajeEscrito el 06 Mar 2012 07:10 pm
Hola es mi primer tema y soy nuevo tanto en CL como en mis primeros pasos en AS3.
Resulta tengo el siguiente codigo y no consigo que contenedor se anime dependiendo de la posicion del mouse respecto de mouseY. Espero puedan darme una mano.

Código ActionScript :

var contenedor:MovieClip = new Contenedor();
addChild (contenedor);

var novel:XML;

var urlRequest:URLRequest = new URLRequest("http://www.iaaf.org/rss/rss.xml");
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener (Event.COMPLETE, completeListener);
urlLoader.load (urlRequest);
function completeListener (e:Event):void {
   novel = new XML(urlLoader.data);
   caminar (novel);
}
function caminar (node:XML):void {
   for each (var element:XML in node.elements()) {
      for(var i:int = 0; i < element..item.length(); i++){
      var banner:MovieClip = new Banner();
      //foto
      var urlFoto:String = element..item[i].enclosure. @ url.toString();
      var loader:Loader = new Loader();
      var urlRequest:URLRequest = new URLRequest(urlFoto);
      loader.load (urlRequest);
      banner.fotito.addChild (loader);

      banner.titulo.text = element..item[i].title.text();
      
      banner.y = i * banner.height;
      banner.x = 0;
      contenedor.addChild (banner);
   }
}
}
addEventListener (Event.ENTER_FRAME,onEnterFrame);

var limiteY:Number = stage.stageHeight - contenedor.height;
var finalY:Number = contenedor.y;

function onEnterFrame (event:Event):void {

if (contenedor.hitTestPoint(mouseX,mouseY)) {
   finalY = (mouseY * limiteY)/stage.stageHeight;
}
var posY:Number = (finalY - contenedor.y) / 8;
contenedor.y +=  posY;
}
trace(contenedor.height);


Gracias.

Por BelkCar

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Mar 2012 12:58 am
Como es mi primer post no se si esté bien planteado el problema, si es necesario adjuntar algo mas que alguien me avise gracias.

Por BelkCar

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Mar 2012 01:59 pm
Bueno me respondo solo parte de la solución, he notado que as no me retorna la altura del contenedor y esto hace que la matemática no resulte como se espera. si cambio
Código:

Código ActionScript :

var limiteX:Number = stage.stageWidth - contenedor.width;

por
Código:

Código ActionScript :

var limiteX:Number = stage.stageWidth - 3000;

funciona como se espera pero me quedan noticias afuera.
Como puedo hacer para que me tome la altura total del contenedor?

Por BelkCar

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Mar 2012 02:17 pm
Dado que expresaste tus dudas acerca del planteo (básicamente porque nadie respondía) debería decir lo siguiente: el problema fue vagamente planteado y pusiste mucho código.

no consigo que contenedor se anime dependiendo de la posicion del mouse respecto de mouseY


¿Que es lo que debería animarse, que se supone que tiene que pasar? Doy un ejemplo de mejor planteo:

"Quiero que el contenedor scrolee según la posición del mouse en el eje Y. El contenedor es un MovieClip con máscara en que puedo poner N cantida de contenido"

Luego si lo que no entendemos del planteo lo tenemos que descubrir leyendo 50 lineas de código puede que a mas de uno le de la vagancia. En líneas generales siempre que pones más de 10 líneas de código debe estar bien justificado, sino es contraproducente.

Ok, dicho esto de sentido general, no entiendo bien cual es tu problema, aunque claramente tu ultima respuesta es errónea, no se puede hardcodear un valor dinámico, eso funciona solo una vez, seguramente estas tratandod e acceder al ancho del contenedor antes de que este termine de renderear su contenido

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 Mar 2012 02:47 pm
Hola Jorge gracias por los concejos y disculpas soy nuevo en todo esto y lo tendre en cuenta.
Con respecto a lo planteao tu respuesta me guió y ya esta solucionado. Efectivamente estaba tratando de acceder a "contenedor.height" antes de que este termine de cargarse. Moví mi animacion dentro de la funcion COMPLETE y asunto solucionado. Es un error muy tipico este no? jj
MUCHAS GRACIAS Jorge.

Por BelkCar

3 de clabLevel



 

msie

 

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