中文ActionScript社区

首页 » 中文ActionScript分享社区 » ActionScript交流区 » 请大家帮我看看怎么改
fireknight - 2008-4-23 13:19:00
我想模仿“玩转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");

 附件: 您所在的用户组无法下载或查看附件
1
查看完整版本: 请大家帮我看看怎么改