我想模仿“玩转FLASH AS 3D”里面的实例,但是我想用XML载入,写到后来不知道怎么弄了,大家帮我看看怎么改吧……
源代码:
var myXML = new XML ();
var myArray = new Array ();
var picArray = new Array ();
var picloader:MovieClipLoader = new MovieClipLoader ();
var picObj:Object = new Object ();
var i:Number = 0;
var cameraView = new Object ();
cameraView.x = 0;
cameraView.y = 0;
cameraView.z = 2000;
cameraView.target = new Object ();
cameraView.target.x = 0;
cameraView.target.y = 0;
cameraView.target.z = 0;
d = 200;
//===================================================================================
myXML.ignoreWhite = true;
myXML.onLoad = function (ok)
{
if (ok)
{
praseXML ();
} else
{
trace ("load XML failed");
}
};
function praseXML ()
{
for (var i = 0; i < myXML.firstChild.childNodes.length; i++)
{
var tempObj = myXML.firstChild.childNodes
.attributes;
myArray.push ({imgURL:tempObj.url, Px:tempObj.px, Py:tempObj.py});
}
loadimage ();
}
//====================================================================================
function loadimage ()
{
var mc = this.createEmptyMovieClip ("item" + i, i);
mc._x = mc._y = 0;
picloader.addListener (picObj);
picloader.loadClip (myArray.imgURL, mc);
mc._x = 500 - Math.random () * 800;
mc._y = 500 - Math.random () * 800;
picArray.push (mc);
}
picObj.onLoadInit = function (target_mc:MovieClip)
{
var x = targe_mc._x - cameraView.x;
var y = targe_mc._y - cameraView.y;
var z = targe_mc.z - cameraView.z;
if (z < 0)
{
targe_mc.z = targe_mc.z + 1000;
targe_mc._x = 1000 - Math.random () * 1000;
targe_mc._y = 1000 - Math.random () * 1000;
x = targe_mc._x - cameraView.x;
y = targe_mc._y - cameraView.y;
z = targe_mc.z - cameraView.z;
}
// end if
var ratio = d / (d + z);
targe_mc._x = x * ratio;
targe_mc._y = y * ratio;
targe_mc._xscale = targe_mc._yscale = 100 * ratio;
targe_mc.swapDepths (1000 - z);
if (i < myArray.length - 1)
{
i++;
loadimage ();
}
targe_mc.onRelease = function ()
{
cameraView.target._x = targe_mc.x;
cameraView.target._y = targe_mc.y;
cameraView.target._z = targe_mc.z;
var x = targe_mc._x - cameraView.x;
var y = targe_mc._y - cameraView.y;
var z = targe_mc._z - cameraView.z;
if (z < 0)
{
targe_mc.z = targe_mc.z + 1000;
targe_mc._x = 1000 - Math.random () * 1000;
targe_mc._y = 1000 - Math.random () * 1000;
a = targe_mc._x - cameraView.x;
b = targe_mc._y - cameraView.y;
c = targe_mc.z - cameraView.z;
}
// end if
var ratio1 = d / (d + c);
targe_mc._x = a * ratio1;
targe_mc._y = b * ratio1;
targe_mc._xscale = targe_mc._yscale = 100 * ratio1;
targe_mc.swapDepths (1000 - c);
};
};
//====================================================================================
myXML.load ("xml/list.xml");
附件: 您所在的用户组无法下载或查看附件