Salut tout le monde. Je m'y remets, les mains dans le cambouis.
Toujours sur le modèle du
carroussel, je prépare un menu qui bouge (oh yeah).
Le tout sur une base de donnée dynamiques, pleine de belles choses.
Alors pour tester, comme un grand, j'ai fait mon bout de script :
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 = 130;
var home:MovieClip = this;
var estFlou:Boolean = false;
//theText._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 {
var t = home.attachMovie("item","item"+i,i+50, 1);
trace(nodes[i].attributes.titreFr);
t.angle = i * ((Math.PI*2)/numOfItems);
t.onEnterFrame = mover;
t.fr.text = nodes[i].attributes.titreFr;
t.en.text = nodes[i].attributes.titreEn;
/* 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.estFlou = false;
t.onRollOver = over;
t.onRollOut = out;
t.onRelease = released;
/*t._visible = 0;
t._xscale =0;
t._yscale =0;*/
}
}
xml.load("menuitems.xml");
function mover()
{
this._x = 385;
this._y = Math.sin(this.angle) * radiusY + centerY;
var s = (this._y - perspective) /(centerY+radiusY-perspective);
this._xscale = this._yscale = this._alpha = s*100;
this.angle += this._parent.speed;
this.swapDepths(Math.round(this._xscale) + 100, 1);
}qui va de paire avec un bon vieil XML des familles (sans définitions, sans rien, comme dans le tutorial)
Jusque là facile, sauf que Gasp, mon facétieux acolyte, aux commandes de la base de donnée pleine de jquery m'a sorti un xml plus compliqué, avec tout dedans.
//...
Et ça ça marche beaucoup moins bien avec mon itération de départ
xml.onLoad = function()
{
var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
for(var i=0;i {
var t = home.attachMovie("item","item"+i,i+50, 1);
trace(nodes[i].attributes.titreFr);parce que gérer du xml avec des chiffres, ça va, mais avec des noms de niveaux, j'ai un peu du mal.
Quelqu'un a une piste ?