ну как это дело завязать на баттон и ввод начального и конечного значения и еще почему то рисует функцию и какую то непонятную линию в центре которой по идее быть не должно блин (((

Код AS1/AS2:
//отрисовка полей, лейблов и кнопки
createClassObject(mx.controls.Label, "Lh", depth, {text:"minX"});
Lh._x = 10;
Lh._y = 10;
depth++;
createClassObject(mx.controls.TextInput, "x1", depth, {text:"-100"});
x1._x = 10;
x1._y = 30;
depth++;
createClassObject(mx.controls.Label, "Lh1", depth, {text:"x1"});
Lh1._x = 110;
Lh1._y = 30;
depth++;
createClassObject(mx.controls.Label, "Lh3", depth, {text:"maxX"});
Lh3._x = 130;
Lh3._y = 10;
depth++;
createClassObject(mx.controls.TextInput, "x2", depth, {text:"100"});
x2._x = 130;
x2._y = 30;
depth++;
createClassObject(mx.controls.Label, "Lh4", depth, {text:"x2"});
Lh4._x = 230;
Lh4._y = 30;
depth++;
createClassObject(mx.controls.Label, "Lh6", depth, {text:"Шаг"});
Lh6._x = 250;
Lh6._y = 10;
depth++;
createClassObject(mx.controls.TextInput, "x3", depth, {text:"10"});
x3._x = 250;
x3._y = 30;
depth++;
createClassObject(mx.controls.Label, "Lh7", depth, {text:"x3"});
Lh7._x = 350;
Lh7._y = 30;
depth++;
createClassObject(mx.controls.Button, "ButDraw", 1000, {label:"Построить"});
ButDraw._x = 400;
ButDraw._y = 45;
ButDraw.onRelease = function() {
_root.createEmptyMovieClip("gr", 0);
var maStab:Number = 0;
var minX:Number = 1000;
var maxX:Number = -1000;
var minY:Number = 1000;
var maxY:Number = -1000;
//читаем переменные, заносим их в переменные
var p1X:Number = Number(x1.text);
trace(p1X);
var p2X:Number = Number(x2.text);
trace(p2X);
var p3X:Number = Number(x3.text);
trace(p3X);
// Рисуем рамку 150*380
gr.lineStyle(3, "0x005679", 100);
gr.moveTo(20, 150);
gr.lineTo(530, 150);
gr.lineTo(530, 380);
gr.lineTo(20, 380);
gr.lineTo(20, 150);
// Рисуем сетку
//os x
gr.lineStyle(1, "0x005679", 100);
for (var i = 150; i<380; i=i+10) {
gr.moveTo(20, i);
gr.lineTo(530, i);
}
// os Y
for (var i = 20; i<530; i=i+10) {
gr.moveTo(i, 150);
gr.lineTo(i, 380);
}
//Рисуем оси координат
gr.lineStyle(3, "0x005679", 100);
gr.moveTo(10, 265);
gr.lineTo(540, 265);
gr.moveTo(275, 140);
gr.lineTo(275, 390);
//подписи осей
createClassObject(mx.controls.Label, "Lh9", depth, {text:"0"});
Lh9._x = 275;
Lh9._y = 265;
depth++;
createClassObject(mx.controls.Label, "Lh10", depth, {text:"Y"});
Lh10._x = 275;
Lh10._y = 380;
depth++;
createClassObject(mx.controls.Label, "Lh11", depth, {text:"X"});
Lh11._x = 540;
Lh11._y = 265;
depth++;
var nachY:Number = 0;
var nachX:Number = 0;
var x:Number = 0;
var y:Number = 0;
var masX:Number = p3X; // масштаб по X
var masY:Number = p3X; // масштаб по У
gr.lineStyle(2, "0x006699", 100);
//p1x минимум х
//p2x максимум х
//p3x - щаг
var nachY:Number = 0;
var nachX:Number = 0;
var x:Number = 0;
var y:Number = 0;
var masX:Number = p3X; // масштаб по X
var masY:Number = p3X; // масштаб по У
//нахождение начальной точки рисования
nachX = (p1X*p3X)+275;
nachY = 200-(Math.pow(p1X, 2)*p3X);
gr.lineStyle(2, "0x006699", 100);
gr.moveTo(nachX,nachY);
//отрисовка параболы
for (var i = p1X ; i<(p2X); i++)
{
x = i*p3X;
y = p3X*Math.pow(i, 2);
x=x+275;
y=265-y;
gr.lineTo(x, y);
}
}
как то так но не понял еще почему при изменении максимума х меняется только одна часть графика (