PDA

Просмотр полной версии : Неработующий метод класса


Dr.XxX
04.07.2008, 19:07
Можете объяснить почему класс не работает ?
Тоесть не работает onMovingPost() он просто не видит переменную _movieClip...
class Moving extends MovieClip{
private var onEnterFrame:Function;
private var _movieClip:MovieClip = null;
public function Moving(movieClip:MovieClip) {
_movieClip = movieClip;
}
public function movingPos() {
_movieClip.onEnterFrame = onMovingPost;
}
private function onMovingPost() {
trace(_movieClip);
_movieClip._x ++;
_movieClip._y ++;
}
}


var q:Moving = new Moving(myMovieClip);
q.movingPos();

crazyone
04.07.2008, 19:54
Попробуйте использовать класс Delegate:

import mx.utils.Delegate;
class Moving extends MovieClip{
private var onEnterFrame:Function;
private var _movieClip:MovieClip = null;
public function Moving(movieClip:MovieClip) {
_movieClip = movieClip;
}
public function movingPos() {
_movieClip.onEnterFrame = Delegate.create(this,onMovingPost);
}
private function onMovingPost() {
trace(_movieClip);
_movieClip._x ++;
_movieClip._y ++;
}
}

Кстати, вам незачем наследовать этот класс от MovieClip'а.

Dr.XxX
04.07.2008, 20:22
Cпасибо, работает.