读书人

动态轨迹回放,该怎么处理

发布时间: 2012-02-19 19:43:37 作者: rapoo

动态轨迹回放
就是我在实现动态轨迹回放的时候碰到点问题:
// 依据historyPointList保存的数据来绘制小车历史路径
Car.prototype.DrawPathByHistoryPointList = function()
{
var temp = new Array();
var preX ;var preY ;var curX ;var curY ;
// 清楚原来的线对象
ClearLines() ;

//javascript事件绑定后this变义问题的解决,可以通过此方法解决
var carObj = this.CarObj ;
//alert(carObj) ;

// 依据historyPointList绘制所有的点和线
for(var i=0;i <this.historyPointList.length;++i)
{
temp = this.historyPointList[i].split( '| ');

curX = parseInt(temp[0]);
curY = parseInt(temp[1]);
curID = parseInt(temp[2]);
curSpeed = parseInt(temp[3]);
curMileage = parseInt(temp[4]);

// 画cur坐标点

window.setTimeout(this.myR.createPoint2(curX, curY, curID, curSpeed, curMileage),2000)

// 如果有两个点,就开始画线
if(i> 0)
{
// 从pre点到cur点画线

// window.setTimeout(this.myR.createLine3(preX, preY, curX, curY, curID, curSpeed, curMileage),2000);//只执行一次

}

// update pre point
preX = curX ;
preY = curY ;
//carObj.historyPointList.push(preX+ '| '+preY) ;

// setTimeout( " ",20000);
}

// 调整小车位置
var mapPoint = document.getElementById( "myPoint ");
try
{
//this.carImage.style.display = " " ;
//this.carImage.style.left = curX ;
//this.carImage.style.top = curY ;
}
catch(e)
{
//alert( 'LL ');
}
}

代码中在for循环中为什么setTimeout没有起到延时作用啊?我想实现动态的效果要怎么实现啊?


[解决办法]
window.setTimeout(this.myR.createLine3(preX, preY, curX, curY, curID, curSpeed, curMileage),2000);//只执行一次
this不会被支持的

读书人网 >行业软件

热点推荐