var aTrack1:Array = [[585.15, 566.55], [579.2, 560.35], [573.4, 554.05], [567.75, 547.65], [562.25, 541.15], [556.85, 534.6], [551.6, 527.95], [546.45, 521.25], [541.4, 514.5], [536.45, 507.7], [531.6, 500.8], [526.8, 493.95], [522.2, 487.1], [517.75, 480.35], [513.45, 473.5], [509.25, 466.55], [505.15, 459.55], [501.2, 452.45], [497.4, 445.3], [493.75, 438], [490.3, 430.65], [487, 423.2], [483.95, 415.6], [481.15, 407.9], [478.6, 400.1], [476.35, 392.2], [474.4, 384.2], [472.85, 376.1], [471.7, 367.9], [471, 359.65], [470.85, 351.35], [471.2, 343], [472.15, 334.7], [473.7, 326.5], [475.9, 318.4], [478.75, 310.55], [482.15, 302.9], [485.65, 295.6], [489.2, 288.4], [492.85, 281.2], [496.6, 274.05], [500.5, 267], [504.55, 260], [508.8, 253.1], [513.3, 246.35], [518.05, 239.75], [523.2, 233.4], [528.8, 227.45], [535.15, 222.15], [542.45, 217.9], [550.45, 214.45], [558.7, 211.55], [567.05, 209.1], [575.4, 207.05], [583.75, 205.25], [592.1, 203.7], [600.5, 202.3], [608.85, 201.1], [617.15, 200.05], [625.5, 199.15], [633.8, 198.45], [642.2, 197.95], [650.55, 197.65], [658.95, 197.6], [667.3, 197.75], [675.65, 198.15], [684.05, 198.75], [692.4, 199.55], [700.75, 200.55], [709.05, 201.8], [717.35, 203.3], [725.55, 205], [733.75, 206.9], [741.9, 209], [749.95, 211.3], [757.95, 213.85], [765.9, 216.55], [773.8, 219.45], [781.6, 222.55], [789.3, 225.85], [796.95, 229.3], [804.5, 232.9], [811.85, 236.45], [819.05, 240.05], [826.3, 243.75], [833.5, 247.45], [840.65, 251.25], [847.75, 255.15], [854.85, 259.15], [861.9, 263.3], [868.9, 267.5], [875.8, 271.85], [882.65, 276.35], [889.4, 281.05], [896, 285.95], [902.45, 291.05], [908.7, 296.5], [914.6, 302.35], [920, 308.9], [924.25, 316.4], [927.55, 324.4], [930.05, 332.55], [931.95, 340.85], [933.4, 349.2], [934.45, 357.55], [935.2, 365.95], [935.7, 374.4], [935.9, 382.85], [935.85, 391.3], [935.55, 399.75], [935, 408.15], [934.3, 416.55], [933.35, 424.9], [932.25, 433.25], [931, 441.5], [929.55, 449.7], [927.95, 457.85], [926.15, 466], [924.15, 474.1], [921.95, 482.15], [919.55, 490.15], [916.95, 498.1], [914.1, 506], [911.05, 513.75], [907.75, 521.45], [904.25, 528.9], [900.5, 536.25], [896.45, 543.45], [892.1, 550.5], [887.35, 557.3], [882.25, 563.85], [876.7, 570.1], [870.75, 575.95], [864.2, 581.3], [856.9, 586], [849.1, 589.95], [841.1, 593.25], [832.95, 596], [824.7, 598.35], [816.45, 600.35], [808.15, 602.1], [799.8, 603.55], [791.45, 604.75], [783.15, 605.8], [774.8, 606.75], [766.5, 607.65], [758.15, 608.45], [749.8, 609.15], [741.45, 609.8], [733.1, 610.4], [724.75, 610.9], [716.35, 611.35], [708, 611.7], [699.65, 612], [691.25, 612.2], [682.85, 612.3], [674.45, 612.4], [666.1, 612.35], [657.65, 611.6], [649.25, 609.75], [641.15, 607], [633.3, 603.5], [625.8, 599.45], [618.6, 594.9], [611.7, 590], [605.05, 584.8], [598.65, 579.35]];
var nIndex:Number = 0;
var mAllTracks:MovieClip = this.createEmptyMovieClip("contPaint", 0);
var nRad2Grad:Number = 180/Math.PI;
var nInterval:Number;
var nTempo:Number = 25;
function buildTrack(pWhich:Array) {
nIndex = 0;
mAllTracks.moveTo(pWhich[nIndex][0],pWhich[nIndex][1]);
for (var i:Number = 0; i<pWhich.length; i++) {
mAllTracks.lineTo(pWhich[nIndex][0],pWhich[nIndex][1]);
nIndex++;
}
mAllTracks.lineTo(pWhich[0][0],pWhich[0][1]);
}
function setTrain(pWhich:MovieClip, pWhere:Array, pIndex:Number) {
pWhich._x = pWhere[pIndex][0];
pWhich._y = pWhere[pIndex][1];
}
function rotateTrain(pWhich:MovieClip, pTrack:Array, pIndex:Number) {
var nDistX:Number, nDistY:Number, nAngle:Number, nZiel:Number;
if (pIndex>=pTrack.length-2) {
nZiel = Math.abs(pTrack.length-(pIndex+2));
} else {
nZiel = pIndex+2;
}
nDistX = pTrack[nZiel][0]-pTrack[pIndex][0];
nDistY = pTrack[nZiel][1]-pTrack[pIndex][1];
nAngle = Math.atan2(nDistY, nDistX)*nRad2Grad;
pWhich._rotation = nAngle;
updateAfterEvent();
}
function moveTrain(pWhich:MovieClip, pTrack:Array) {
nIndex++;
if (nIndex>=pTrack.length) {
nIndex = 0;
}
setTrain(pWhich,pTrack,nIndex);
rotateTrain(pWhich,pTrack,nIndex);
}
function init() {
mAllTracks.lineStyle(1,0xffffff,100);
buildTrack(aTrack1);
nIndex = 0;
setTrain(train,aTrack1,nIndex);
rotateTrain(train,aTrack1,nIndex);
nInterval = setInterval(moveTrain, nTempo, train, aTrack1);
}
init();