Что то не так(((

Код AS3:
package{
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
dynamic public class Roy extends MovieClip {
//Количество частиц
var num = 15;
//Сила разлёта от мышки
var fr = 700;
//Min и Max ускорения
var mina = 5;
var maxa = 15;
//Сила притяжения мышки (max=50)
var fmouse = 30;
var i = 0;
var main;
var myxa:Array = new Array(16);
public var clip;
var mainTimer;
public function Roy(a){
main = a;
while (i<=num) {
myxa[i] = new Myxa;
myxa[i].x = Math.random()*(0-550)+550;
myxa[i].y = Math.random()*(0-400)+400;
main.addChild(myxa[i]);
myxa[i].ar= Number(Math.random()*(maxa-mina)+mina)/100;
i = i+1;
}
mainTimer = new Timer(150);
mainTimer.addEventListener("timer", go);
mainTimer.start();
}
public function go(e:TimerEvent){
var i = 0;
var mousex = mouseX;
var mousey = mouseY;
while (i<=num) {
clip = myxa[i];
clip.xm2 = ((mousex - clip.x) + Math.random()*(2*fr)-fr) / (50 - fmouse);
clip.ym2 = ((mousey - clip.y) + Math.random()*(2*fr)-fr) / (50 - fmouse);
var ar = clip.ar;
clip.xm = clip.xm * (1 - ar) + clip.xm2 * ar;
clip.ym = clip.ym * (1 - ar) + clip.ym2 * ar;
clip.x += clip.xm;
clip.y += clip.ym;
trace(clip.xm);//здесь ошибка,но не могу разобраться(((
i = i+1;
}
}
}
}
Добавлено через 3 часа 45 минут
Осталась одна загвоздка

Код AS1/AS2:
set("/p" add i add ":xm", eval("/p" add i add ":xm")* (1-a)+eval("/p" add i add ":xm2")*a);
set("/p" add i add ":ym", eval("/p" add i add ":ym")*(1-a)+eval("/p" add i add ":ym2")*a);
эти строчки никак неосилить

Код AS3:
clip.xm = clip.xm * (1 - a) + clip.xm2 * a;
clip.ym = clip.ym * (1 - a) + clip.ym2 * a;
так неработает((