bonjour a tous !!
Je viens solliciter vos lumières, j'ai récupéré ce carrousel sur un tuto (très bien fait d'ailleurs ) et je m'arrache les cheveux pour :
1 - Le faire tourner "par défaut" sans avoir de système type rollover
2 - Supprimer un espace trop grand entre 2 images
Voici le fichier AS :
var rotX:Number = 200;
var rotY:Number = 20;
var Centre:Number = Stage.height/2;
var vitesse:Number = 0.01;
var sceneW:Number =Stage.width;
var sceneH:Number = Stage.height;
var nbI:Number=10;
var angle:Number=1;
var i:Number;
var l, id:Number;
var msg, urls:Array;
var txtY=(sceneH-infoTxt.height);
this.createTextField("infoTxt",10,0,sceneH-30,sceneW,25);
infoTxt.multiline = false;
infoTxt.wordWrap = true;
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFFFFFF;
my_fmt.align = 'center';
my_fmt.size = 20;
infoTxt.setTextFormat(my_fmt);
msg = [
'premier message (ic 1)',
'premier message (ic 2)',
'premier message (ic 3)',
'premier message (ic 4)',
'premier message (ic 5)',
'premier message (ic 6)',
'premier message (ic 7)',
'premier message (ic 8)',
'premier message (ic 9)'
]
urls = [
'http://www.xez.net',
'http://google.fr',
'http://www.xez.net',
'http://www.xez.net',
'http://google.fr',
'http://weecast.fr',
'http://www.xez.net',
'http://google.fr',
'http://www.xez.net'
]
for(i=0;i<nbI;i++)
{
this.attachMovie('Icone'+i,'Ic'+i,i);
this['Ic'+i].onRelease=function()
{
l = Number(String(this).length);
id = Number(String(this).substr(l-1,l-1));
var idURL=id;
id+=2;
_root.gotoAndStop(id);
trace('id : '+id + 'frame : '+ _root._currentframe);
//getURL(idURL,'_blank');
}
this['Ic'+i].onRollOver = function():Void
{
var l2 = Number(String(this).length);
var id2 = Number(String(this).substr(l2-1,l2-1));
if(String(this) === '_level0.Ic'+id2)
{
infoTxt.text = String(msg );
infoTxt.setTextFormat(my_fmt);
}
}
this['Ic'+i]._y = sceneH /2;
}
onEnterFrame=function(){
if (rotY <= -5) {
rotY = -5
}
else if (rotY >= 50) {
rotY = 50;
}
if (angle > (2*Math.PI))
{
angle = 0;
}else{
for(i=0; i<nbI; i++){
this['Ic'+i]._x = rotX* Math.cos(angle+2* Math.PI*i/nbI)+sceneW/2;
this['Ic'+i]._y = rotY* Math.sin(angle + 2* Math.PI* i/nbI) + sceneH/2;
this['Ic'+i]._xscale=60/2*(Math.sin(angle+2*Math.PI*i/nbI)+ 1)+50;
this['Ic'+i]._yscale=this['Ic'+i]._xscale;
this['Ic'+i].swapDepths(rotX*Math.sin(angle+2*Math.PI*i/nbI));
}
if(this._xmouse < (sceneW/2+rotX+200) && this._xmouse > (sceneW/2-rotX-200))
{
if(this._ymouse < sceneH && this._ymouse > 0)
{
angle=angle+(this._xmouse-sceneW/2)/sceneH* vitesse;
}
}
}
}
D'avance merci !!!
Je viens solliciter vos lumières, j'ai récupéré ce carrousel sur un tuto (très bien fait d'ailleurs ) et je m'arrache les cheveux pour :
1 - Le faire tourner "par défaut" sans avoir de système type rollover
2 - Supprimer un espace trop grand entre 2 images
Voici le fichier AS :
var rotX:Number = 200;
var rotY:Number = 20;
var Centre:Number = Stage.height/2;
var vitesse:Number = 0.01;
var sceneW:Number =Stage.width;
var sceneH:Number = Stage.height;
var nbI:Number=10;
var angle:Number=1;
var i:Number;
var l, id:Number;
var msg, urls:Array;
var txtY=(sceneH-infoTxt.height);
this.createTextField("infoTxt",10,0,sceneH-30,sceneW,25);
infoTxt.multiline = false;
infoTxt.wordWrap = true;
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFFFFFF;
my_fmt.align = 'center';
my_fmt.size = 20;
infoTxt.setTextFormat(my_fmt);
msg = [
'premier message (ic 1)',
'premier message (ic 2)',
'premier message (ic 3)',
'premier message (ic 4)',
'premier message (ic 5)',
'premier message (ic 6)',
'premier message (ic 7)',
'premier message (ic 8)',
'premier message (ic 9)'
]
urls = [
'http://www.xez.net',
'http://google.fr',
'http://www.xez.net',
'http://www.xez.net',
'http://google.fr',
'http://weecast.fr',
'http://www.xez.net',
'http://google.fr',
'http://www.xez.net'
]
for(i=0;i<nbI;i++)
{
this.attachMovie('Icone'+i,'Ic'+i,i);
this['Ic'+i].onRelease=function()
{
l = Number(String(this).length);
id = Number(String(this).substr(l-1,l-1));
var idURL=id;
id+=2;
_root.gotoAndStop(id);
trace('id : '+id + 'frame : '+ _root._currentframe);
//getURL(idURL,'_blank');
}
this['Ic'+i].onRollOver = function():Void
{
var l2 = Number(String(this).length);
var id2 = Number(String(this).substr(l2-1,l2-1));
if(String(this) === '_level0.Ic'+id2)
{
infoTxt.text = String(msg );
infoTxt.setTextFormat(my_fmt);
}
}
this['Ic'+i]._y = sceneH /2;
}
onEnterFrame=function(){
if (rotY <= -5) {
rotY = -5
}
else if (rotY >= 50) {
rotY = 50;
}
if (angle > (2*Math.PI))
{
angle = 0;
}else{
for(i=0; i<nbI; i++){
this['Ic'+i]._x = rotX* Math.cos(angle+2* Math.PI*i/nbI)+sceneW/2;
this['Ic'+i]._y = rotY* Math.sin(angle + 2* Math.PI* i/nbI) + sceneH/2;
this['Ic'+i]._xscale=60/2*(Math.sin(angle+2*Math.PI*i/nbI)+ 1)+50;
this['Ic'+i]._yscale=this['Ic'+i]._xscale;
this['Ic'+i].swapDepths(rotX*Math.sin(angle+2*Math.PI*i/nbI));
}
if(this._xmouse < (sceneW/2+rotX+200) && this._xmouse > (sceneW/2-rotX-200))
{
if(this._ymouse < sceneH && this._ymouse > 0)
{
angle=angle+(this._xmouse-sceneW/2)/sceneH* vitesse;
}
}
}
}
D'avance merci !!!