Код
class graphObject {
private var m_movie : MovieClip = null;
private var m_color : Number = 0x000000;
private var m_thikness : Number = 1;
public function graphObject ( movie : MovieClip ) {
m_movie = movie;
// this.setObjectStyle( m_thikness, m_color );
}
public function drawObject(){ }
public function setObjectStyle ( thikness : Number, color : Number ) {
m_color = color;
m_thikness = thikness;
m_movie.lineStyle( m_thikness, m_color );
}
}
-------------------
class graphLine extends graphObject {
private var m_x : Number = 0;
private var m_y : Number = 0;
private var m_anchorX : Number = 0;
private var m_anchorY : Number = 0;
//CONSTRUCTOR
public function graphLine ( movie : MovieClip ) { m_movie = movie; }
//PUBLIC
public function drawObject () {
m_movie.moveTo( m_x, m_y );
m_movie.lineTo( m_anchorX, m_anchorY );
}
public function setXY ( sX : Number, sY : Number, eX : Number, eY : Number ) {
setStartXY ( sX, sY );
setEndXY ( eX, eY );
}
//PRIVATE
private function setStartXY ( sX : Number, sY : Number ) {
m_x = sX;
m_y = sY;
}
private function setEndXY ( eX : Number, eY : Number ) {
m_anchorX = eX;
m_anchorY = eY;
}
}
----------------
lass curveLine extends graphLine {
private var m_controlX : Number = 0;
private var m_controlY : Number = 0;
//CONSTRUCTOR
public function curveLine ( movie : MovieClip ) { m_movie = movie; }
//PUBLIC
public function drawObject () {
m_movie.moveTo( m_x, m_y );
m_movie.curveTo( m_anchorX, m_anchorY, m_controlX, m_controlY );
}
public function setAnchorXY( aX : Number, aY : Number ) {
m_controlX = aX;
m_controlY = aY;
}
//PRIVATE
}
------------------
import curveLine;
class multiCurveLine extends graphLine {
private var m_qP : Number = 1;
private var m_subCurves : Array = new Array();
private var m_controls : Array = new Array();
//CONSTRUCTOR
public function multiCurveLine ( movie : MovieClip, qP : Number ) {
m_movie = movie;
m_qP = qP;
for ( var i : Number; i < m_qP; i++ ) {
m_subCurves[i] = new curveLine( m_movie );
}
}
//PUBLIC
public function drawObject () {
for ( var i : Number; i < m_qP; i++ ) {
m_subCurves[i].drawObject();
}
};
public function setObjectStyle ( thikness : Number, color : Number ) {
m_color = color;
m_thikness = thikness;
m_movie.lineStyle( m_thikness, m_color );
}
//PRIVATE
public function initPoints() {
m_subCurves[0].setXY( m_x, m_y, random( 500 ) , random( 500 ) );
for ( var i : Number = 0; i < m_qP; i++ ) {
m_subCurves[i].setXY( m_x, m_y, random( 500 ) , random( 500 ) );
}
}
}
----------------
ОСНОВНОЙ КОД
this.createEmptyMovieClip("clip1", this.getNextHighestDepth() );
var line1 : graphLine = new graphLine ( clip1 );
line1.setObjectStyle( 2, 0x999999 );
line1.setXY( 100, 200, 300, 400 );
line1.drawObject();
var curve1 : curveLine = new curveLine ( clip1 );
curve1.setObjectStyle( 2, 0x9f0ff9 );
curve1.setXY( 100, 200, 30, 40 );
curve1.setAnchorXY( 300, 400 );
curve1.drawObject();
// ВОТ ЭТА ЛИНИЯ НЕ РИСУЕТСЯ
var curve2 : multiCurveLine = new multiCurveLine ( clip1, 4 );
curve2.setObjectStyle( 3, 0x000000 );
curve2.setXY( 100, 200, 200, 400 );
curve2.initPoints();
curve2.drawObject();
private var m_movie : MovieClip = null;
private var m_color : Number = 0x000000;
private var m_thikness : Number = 1;
public function graphObject ( movie : MovieClip ) {
m_movie = movie;
// this.setObjectStyle( m_thikness, m_color );
}
public function drawObject(){ }
public function setObjectStyle ( thikness : Number, color : Number ) {
m_color = color;
m_thikness = thikness;
m_movie.lineStyle( m_thikness, m_color );
}
}
-------------------
class graphLine extends graphObject {
private var m_x : Number = 0;
private var m_y : Number = 0;
private var m_anchorX : Number = 0;
private var m_anchorY : Number = 0;
//CONSTRUCTOR
public function graphLine ( movie : MovieClip ) { m_movie = movie; }
//PUBLIC
public function drawObject () {
m_movie.moveTo( m_x, m_y );
m_movie.lineTo( m_anchorX, m_anchorY );
}
public function setXY ( sX : Number, sY : Number, eX : Number, eY : Number ) {
setStartXY ( sX, sY );
setEndXY ( eX, eY );
}
//PRIVATE
private function setStartXY ( sX : Number, sY : Number ) {
m_x = sX;
m_y = sY;
}
private function setEndXY ( eX : Number, eY : Number ) {
m_anchorX = eX;
m_anchorY = eY;
}
}
----------------
lass curveLine extends graphLine {
private var m_controlX : Number = 0;
private var m_controlY : Number = 0;
//CONSTRUCTOR
public function curveLine ( movie : MovieClip ) { m_movie = movie; }
//PUBLIC
public function drawObject () {
m_movie.moveTo( m_x, m_y );
m_movie.curveTo( m_anchorX, m_anchorY, m_controlX, m_controlY );
}
public function setAnchorXY( aX : Number, aY : Number ) {
m_controlX = aX;
m_controlY = aY;
}
//PRIVATE
}
------------------
import curveLine;
class multiCurveLine extends graphLine {
private var m_qP : Number = 1;
private var m_subCurves : Array = new Array();
private var m_controls : Array = new Array();
//CONSTRUCTOR
public function multiCurveLine ( movie : MovieClip, qP : Number ) {
m_movie = movie;
m_qP = qP;
for ( var i : Number; i < m_qP; i++ ) {
m_subCurves[i] = new curveLine( m_movie );
}
}
//PUBLIC
public function drawObject () {
for ( var i : Number; i < m_qP; i++ ) {
m_subCurves[i].drawObject();
}
};
public function setObjectStyle ( thikness : Number, color : Number ) {
m_color = color;
m_thikness = thikness;
m_movie.lineStyle( m_thikness, m_color );
}
//PRIVATE
public function initPoints() {
m_subCurves[0].setXY( m_x, m_y, random( 500 ) , random( 500 ) );
for ( var i : Number = 0; i < m_qP; i++ ) {
m_subCurves[i].setXY( m_x, m_y, random( 500 ) , random( 500 ) );
}
}
}
----------------
ОСНОВНОЙ КОД
this.createEmptyMovieClip("clip1", this.getNextHighestDepth() );
var line1 : graphLine = new graphLine ( clip1 );
line1.setObjectStyle( 2, 0x999999 );
line1.setXY( 100, 200, 300, 400 );
line1.drawObject();
var curve1 : curveLine = new curveLine ( clip1 );
curve1.setObjectStyle( 2, 0x9f0ff9 );
curve1.setXY( 100, 200, 30, 40 );
curve1.setAnchorXY( 300, 400 );
curve1.drawObject();
// ВОТ ЭТА ЛИНИЯ НЕ РИСУЕТСЯ
var curve2 : multiCurveLine = new multiCurveLine ( clip1, 4 );
curve2.setObjectStyle( 3, 0x000000 );
curve2.setXY( 100, 200, 200, 400 );
curve2.initPoints();
curve2.drawObject();
Прошу помощи! Надо нарисовать линию кривыми посреддством классов собственных. НЕЕ ПОЛУЧАЕТСЯ подскажите может я тут с мувиками напутал что... бъюсь уже 4-й день ничего не нахожу.
Спасибо.