Comunidad de diseño web y desarrollo en internet online

tamaño imagenes

Citar            
MensajeEscrito el 04 Jul 2008 05:14 pm
Buenas!
el problema que tengo es que tengo un carrusel de imágenes a las cuales llama atraves de un xml.
las imágenes están en una base de datos. la cual coge las imágenes de diferentes tamaños.
que código debería utilizar para que las mostrara todas con el mismo tamaño?

os dejo el código para que me informéis mejor! gracias

Código :

import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;

var numOfItems:Number;
var radiusX:Number = 200;
var radiusY:Number = 10;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.01;
var perspective:Number = 130;
var home:MovieClip = this;
theText._alpha = 0;
var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;


var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function()
{
   var nodes = this.firstChild.childNodes;
   numOfItems = nodes.length;
   for(var i=0;i<numOfItems;i++)
   {
      var t = home.attachMovie("item","item"+i,i+1);
      t.angle = i * ((Math.PI*2)/numOfItems);
      t.onEnterFrame = mover;
      t.toolText = nodes[i].attributes.tooltip;
      t.content = nodes[i].attributes.content;
      t.icon.inner.loadMovie(nodes[i].attributes.image);
      t.r.inner.loadMovie(nodes[i].attributes.image);
      t.icon.onRollOver = over;
      t.icon.onRollOut = out;
      t.icon.onRelease = released;
   }
}

function over()
{
   //BONUS Section
   var sou:Sound = new Sound();
   sou.attachSound("sover");
   sou.start();
   
   home.tooltip.tipText.text = this._parent.toolText;
   home.tooltip._x = this._parent._x;
   home.tooltip._y = this._parent._y - this._parent._height/2;
   home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
   home.tooltip._alpha = 100;
}

function out()
{
   delete home.tooltip.onEnterFrame;
   home.tooltip._alpha = 0;
}

function released()
{
   //BONUS Section
   var sou:Sound = new Sound();
   sou.attachSound("sdown");
   sou.start();
   
   home.tooltip._alpha = 0;
   for(var i=0;i<numOfItems;i++)
   {
      var t:MovieClip = home["item"+i];
      t.xPos = t._x;
      t.yPos = t._y;
      t.theScale = t._xscale;
      delete t.icon.onRollOver;
      delete t.icon.onRollOut;
      delete t.icon.onRelease;
      delete t.onEnterFrame;
      if(t != this._parent)
      {
         var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
         var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
         var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
      }
      else
      {
         var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,100,1,true);
         var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,100,1,true);
         var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,200,1,true);
         var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,320,1,true);
         var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);
         theText.text = t.content;
         var s:Object = this;
         tw.onMotionStopped = function()
         {
            s.onRelease = unReleased;
         }
      }
   }
}

function unReleased()
{
   //BONUS Section
   var sou:Sound = new Sound();
   sou.attachSound("sdown");
   sou.start();
   
   delete this.onRelease;
   var tw:Tween = new Tween(theText,"_alpha",Strong.easeOut,100,0,0.5,true);
   for(var i=0;i<numOfItems;i++)
   {
      var t:MovieClip = home["item"+i];
      if(t != this._parent)
      {
         var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,0,t.theScale,1,true);
         var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,0,t.theScale,1,true);
         var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,0,100,1,true);
      }
      else
      {
         var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,100,t.theScale,1,true);
         var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,100,t.theScale,1,true);
         var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,t.xPos,1,true);
         var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,t.yPos,1,true);
         tw.onMotionStopped = function()
         {
            for(var i=0;i<numOfItems;i++)
            {
               var t:MovieClip = home["item"+i];
               t.icon.onRollOver = Delegate.create(t.icon,over);
               t.icon.onRollOut = Delegate.create(t.icon,out);
               t.icon.onRelease = Delegate.create(t.icon,released);
               t.onEnterFrame = mover;
            }
         }
      }
   }
}


function moveTip()
{
   home.tooltip._x = this._parent._x;
   home.tooltip._y = this._parent._y - this._parent._height/2;
}

xml.load("icons.xml");

function mover()
{
   this._x = Math.cos(this.angle) * radiusX + centerX;
   this._y = Math.sin(this.angle) * radiusY + centerY;
   var s = (this._y - perspective) /(centerY+radiusY-perspective);
   this._xscale = this._yscale = s*100;
   this.angle += this._parent.speed;
   this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
   speed = (this._xmouse-centerX)/70000;
}
:shock:

Por pulgy

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2008 07:24 pm
Los carrouseles de imágenes se basan en la simulación del eje Z para crear una perspectiva 3D, de ahí la diferencia de tamaño. Quizás no deberías basarte en un carrousel si lo que quieres es un efecto plano

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Jul 2008 08:07 pm
Para eso tienes que modificar y codificar el contenedor principal, para que escale segun el tamaño de la foto cargada, este codigo no le tienes que modificar nada.

Por DiegoAzul

376 de clabLevel



 

Mx

firefox
Citar            
MensajeEscrito el 04 Jul 2008 09:04 pm
Hola,

Para mi posiblemente esto no requiere código por lo siguiente:

Si queremos mostrar las imágenes de un mismo tamaño, debemos garantizar que no sea ni muy grande ni muy pequeño. Porque si es muy grande las imágenes pequeñas se pixelan, o viceversa. Manipular cada imagen desde flash por código puede ser posible, pero se invierte tiempo muerto ya que la solución más trivial es cambiar el tamaño de la imágen editandola directamente (Sino tienes un número muy grande, claro esta).

También mi recomendación es hacer uso del api de flickr, esta te pasa un xml con las imágenes con unos tamaños que ellos tienen preestablecidos que se pueden configurar con un parámetro en el nombre de la imágen.

Por último otra solución podría ser utilizar una máscara para mostrar sólo una fracción de la imagen cargada.

Ok, cuentanos más del proyecto para ser más concretos.

Gracias.

Por miliciano

50 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 04 Jul 2008 09:09 pm
Otra cosa:

Mirando el código veo esto:

Código :

var sou:Sound = new Sound();
   sou.attachSound("sover");
   sou.start();


Puede ser mejor hacer:

Código :

var sou:Sound = new Sound();
sou.attachSound("sover");

b.onRollOver =function()
{   
    sou.start();
}

b1.onRollOver =function()
{   
    sou.start();
}


La diferencia es que sólo se crear el objeto sonido una vez, y luego se usa la propiedad para reproducirlo. Esto es un poco más eficiente, que crear todas las veces una instancia del objeto cada que se reuiera reproducir un sonido.

Suerte

Por miliciano

50 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 05 Jul 2008 11:46 am
muchas gracias por contestarme ya estaba desesperada!
pues es que es para un trabajillo y lo que me exigen es que coja las imágenes desde una base de datos, para que se vayan actualizando solas cada cierto tiempo...
por lo cual no me valdría la opción de fliker, aunque seria la mejor.
lo que también he echo es ponerle el tamaño que quiero en el xml... pero no me funciona..cambiare lo del sonido, muchas gracias.

Por pulgy

1 de clabLevel



 

firefox

 

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