Carrousel de imágenes linkeables
Estoy haciendo un carrousel 3d con Flash CS3 para mi blog en el que al pulsar sobre cada foto, se debe abrir en nueva pestaña la foto panorámica correspondiente. Pero como todavía no conozco ActionScript, he descargado este carrousel, he cambiado los iconos por mis miniaturas, le he quitado tres, y en el XML he cambiado los nombres de los bocadillos, y funciona. Pero por mas que busco y busco no tengo ni idea de cómo linkearlos a sus panoramas correspondientes. Si algún experto me puede ayudar se lo agradecería.
Un saludo
EL FLA:
import mx.utils.Delegate;
var numOfItems:Number;
var radiusX:Number = 200;
var radiusY:Number = 25;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.01;
var perspective:Number = 10;
var home:MovieClip = this;
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.attributes.tooltip;
t.icon.inner.loadMovie(nodes.attributes.image);
t.r.inner.loadMovie(nodes.attributes.image);
t.icon.onRollOver = over;
t.icon.onRollOut = out;
t.icon.onRelease = released;
}
}
function over()
{
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()
{
getURL("icons.xml") +i,i+1;
}
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)/2500;
}
EL XML:
<icons>
<icon image="icon1.png" tooltip="Texto uno" />
<icon image="icon2.png" tooltip="Texto dos" />
<icon image="icon3.png" tooltip="Texto tres" />
<icon image="icon4.png" tooltip="Texto cuatro" />
<icon image="icon5.png" tooltip="Texto cinco" />
<icon image="icon6.png" tooltip="Texto seis" />
<icon image="icon7.png" tooltip="Texto siete" />
</icons>
Un saludo
EL FLA:
import mx.utils.Delegate;
var numOfItems:Number;
var radiusX:Number = 200;
var radiusY:Number = 25;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.01;
var perspective:Number = 10;
var home:MovieClip = this;
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.attributes.tooltip;
t.icon.inner.loadMovie(nodes.attributes.image);
t.r.inner.loadMovie(nodes.attributes.image);
t.icon.onRollOver = over;
t.icon.onRollOut = out;
t.icon.onRelease = released;
}
}
function over()
{
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()
{
getURL("icons.xml") +i,i+1;
}
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)/2500;
}
EL XML:
<icons>
<icon image="icon1.png" tooltip="Texto uno" />
<icon image="icon2.png" tooltip="Texto dos" />
<icon image="icon3.png" tooltip="Texto tres" />
<icon image="icon4.png" tooltip="Texto cuatro" />
<icon image="icon5.png" tooltip="Texto cinco" />
<icon image="icon6.png" tooltip="Texto seis" />
<icon image="icon7.png" tooltip="Texto siete" />
</icons>
2 respuestas
Respuesta de buzu
1
Respuesta de diegozamora
1