PHP Code:
import mx.utils.Delegate;
//transitions for icon tween
import mx.transitions.Tween;
import mx.transitions.easing.*;
var numOfItems:Number;
var radiusX:Number = 320;
var radiusY:Number = 75;
var centerX:Number = Stage.width/2;
var centerY:Number = (Stage.height/2);
var speed:Number = 0.05;
var perspective:Number = 130;
var home:MovieClip = this;
//text field invisible at startup
myLoader._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;
trace(numOfItems);
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;
//attributes called from XML
t.toolText = nodes[i].attributes.tooltip;
t.movie = nodes[i].attributes.movie;
//t.content = nodes[i].attributes.content;
//t.loadClip = nodes [i].attributes.movie;
//t.myLoader = nodes[i].attributes.movie;
//t.loadMovie = nodes[i].attributes.movie;
//t.myLoader.loadMovie = nodes[i].attributes.movie;
//t.movieClip = nodes[i].attributes.movie;
//t.myLoader.loadMovie = nodes[i].attributes.movie;
//t.page = nodes[i].attributes.movie;
t.icon.inner.loadMovie (nodes [i].attributes.image);
t.ref.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 ()
{
home.tooltip._alpha = 0;
for (var i=0;i<numOfItems;i++)
{
//var to refer to icons in carousel
var t:MovieClip = home["item"+i]
t.xPos = t._x;
t.yPos = t._y;
t.theScale = t._xscale;
//undo icon properties when fired
delete t.icon.onRollOver;
delete t.icon.onRollOut;
delete t.icon.onRelease;
delete t.onEnterFrame;
//if statement to animated selected icon in a different way to all other items
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 (myLoader,"_alpha",Strong.easeOut,0,100,1,true);
//theText.text = t.content;
//mcLoader.loadClip(t.page ,myLoader);
//myLoader.loadMovie = t.page;
//myLoader.movieClip = t.movie;
//myLoader.loadMovie = t.loadMovie;
//THIS IS WHERE I EDITED!!!!
myLoader.loadMovie(t.movie);
//END!!! Also, I edited once again on the unreleased() function! Ok, I don't know what you did wrong! I guess I just have the "magical fingers... =)
var s:Object = this;
tw.onMotionStopped = function()
{
s.onRelease = unReleased;
}
}
}
}
function unReleased()
{
delete this.onRelease;
var tw:Tween = new Tween (theText,"_alpha",Strong.easeOut,100,0,0.5,true);
var tw2:Tween = new Tween (scroller,"_alpha",Strong.easeOut,100,0,0.5,true);
for (var i=0;i<numOfItems;i++)
{
var t:MovieClip = home["item"+i]
myLoader.unloadMovie();
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");
for (var i=0;i<numOfItems;i++)
{
var t = this.attachMovie ("item", "item"+i, i+1);
t.angle = i * ((Math.PI*2)/numOfItems);
t.onEnterFrame = mover;
}
function mover ()
{
this._x = Math.cos (this.angle) * radiusX + centerX;
this._y = Math.sin (this.angle) * radiusY + centerY;
var s:Number = (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;
}
e il xml ai una strutura cosi.............
Bookmarks