-
1 pièce(s) jointe(s)
Caroussel Flash - GetURL
Bonjour !
J'ai trouvé sur internet un super caroussel en flash gratuit, qui me permet d'obtenir rapidement l'effet que je souhaitais obtenir, sans pouvoir le développer moi-même, depuis un moment.
Les vagues notions de flash et d'actionscript qui me restent de l'école me permettent de le customiser graphiquement assez facilement.
Par contre, j'aurai besoin de pouvoir atteindre une page HTML différente en cliquant sur chacun des éléments du caroussel, mais cela n'était pas prévu dans le script d'origine, et les quelques tentatives que j'ai essayées avec les tutos (c'était vraiment pour dire que j'avais essayé....:o)) se sont révélées infructueuses.
Quelqu'un pourrait-il m'aider ?
Merci d'avance
Steph
-
La soluce !
Quelqu'un de très gentil m'a donné la soluce dans un autre forum...
La voici, pour ceux que cela pourrait intéresser ! >>
"dans le fichier xml, il faut rajouter un nœud
<icons>
<icon image="1.png" tooltip="image1" lien="http://www.google.fr/" />
<icon image="2.png" tooltip="image2" lien="http://www.google.fr/" />
<icon image="3.png" tooltip="image3" lien="http://www.google.fr/" />
<icon image="4.png" tooltip="image4" lien="http://www.google.fr/" />
<icon image="5.png" tooltip="image5"lien="http://www.google.fr/" />
</icons>
dans le code AS du .fla, il faut rajouter :
t.lienText = nodes[i].attributes.lien;
et
getURL(this._parent.lienText);
ce qui donne :
import mx.utils.Delegate;
var numOfItems:Number;
var radiusX:Number = 300;
var radiusY:Number = 75;
var centerX:Number = Stage.width/2;
var centerY:Number = Stage.height/2;
var speed:Number = 0.01;
var perspective:Number = 30;
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[i].attributes.tooltip;
t.lienText = nodes[i].attributes.lien;
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() {
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() {
trace(this._parent.toolText);
trace(this._parent.lienText);
getURL(this._parent.lienText);
}
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)+300);
}
this.onMouseMove = function() {
speed = (this._xmouse-centerX)/10000;
};"