Разобрался с присваиванием параметра, немного доработал:
Код:
import mx.transitions.*;
import mx.transitions.easing.*;
class Car {
private var bInMotion = false;
private var sDirection = null;
private var eObject = null;
private var oTween = null;
private var iHomeX = 0;
private var iForwardX = 0;
private var iBackwardX = 0;
private var iMotionSteps = 50;
public function Car( _mc:MovieClip, _iHomeX, _iForwardX, _iBackwardX, _iMotionSteps ){
eObject = _mc;
iHomeX = _iHomeX;
iForwardX = _iForwardX;
iBackwardX = _iBackwardX;
if( _iMotionSteps ){
iMotionSteps = _iMotionSteps;
}
}
public function Forward(){
sDirection = 'Forward';
this._Go( iForwardX );
}
public function Backward(){
this.sDirection = 'Backward';
this._Go( iBackwardX );
}
public function Home(){
this.sDirection = 'Home';
this._Go( iHomeX );
}
private function _Go( iX ){
var _iCurrentFrame = 0;
if( !bInMotion ){
bInMotion = true;
oTween = new mx.transitions.Tween( eObject, '_x', mx.transitions.easing.Regular.easeInOut, eObject._x, iX, iMotionSteps );
oTween.onMotionChanged = function(){
_iCurrentFrame++;
}
oTween.onMotionFinished = function(){
bInMotion = false;
_iCurrentFrame = 0;
}
eObject.gotoAndPlay( 'Start' );
} else {
oTween.onMotionFinished = function(){
bInMotion = false;
switch( sDirection ){
case 'Forward': Forward(); break;
case 'Backward': Backward(); break;
case 'Home': Home(); break;
}
}
}
}
}
Теперь возник вопрос вот в этом куске кода:
Код:
oTween.onMotionFinished = function(){
bInMotion = false;
_iCurrentFrame = 0;
}
Проблема в изменении значения свойства класса — bInMotion, внутри функции переменную могу изменить, а записать значение в свойства класса не получается (