island
22.10.2006, 18:42
В первом кадре fla-файла :
import com.General;
General.main(_root);
Класс General:
import com.Line;
class com.General {
private var l:Line;
public function General() {
l = new Line(_root);
}
public static function main(mc:MovieClip) {
var g = new General();
}
}
Класс Line:
class com.Line {
private var line_mc:MovieClip;
public function Line(mc:MovieClip) {
line_mc = mc.attachMovie("line","line",10);
line_mc.baton.onRelease = function() {
trace("строка 1");
some_func();
}
}
private function some_func() {
trace("строка 2");
}
}
В библиотеке fla-файла имеется мувиклип line, внутри которого кнопка с именем “baton”. При тестировании фильма «строка 1» выводится, а «строка 2» нет. Насколько я понимаю, это происходит из-за того, что интерпретатор ищет функцию some_func на временной шкале клипа, на котором расположена кнопка baton, а вовсе не в классе Line. Как бы сделать так, чтобы при обрабатывании событий с кнопки ссылаться на функцию внутри класса?
Я придумал временное решение, но оно меня по некоторым причинам не устраивает.
В функции main класса General при событии onMouseDown происходит вызов метода класса Line, в котором хиттестом проверяется попадание щелчка мыши по кнопке.
import com.General;
General.main(_root);
Класс General:
import com.Line;
class com.General {
private var l:Line;
public function General() {
l = new Line(_root);
}
public static function main(mc:MovieClip) {
var g = new General();
}
}
Класс Line:
class com.Line {
private var line_mc:MovieClip;
public function Line(mc:MovieClip) {
line_mc = mc.attachMovie("line","line",10);
line_mc.baton.onRelease = function() {
trace("строка 1");
some_func();
}
}
private function some_func() {
trace("строка 2");
}
}
В библиотеке fla-файла имеется мувиклип line, внутри которого кнопка с именем “baton”. При тестировании фильма «строка 1» выводится, а «строка 2» нет. Насколько я понимаю, это происходит из-за того, что интерпретатор ищет функцию some_func на временной шкале клипа, на котором расположена кнопка baton, а вовсе не в классе Line. Как бы сделать так, чтобы при обрабатывании событий с кнопки ссылаться на функцию внутри класса?
Я придумал временное решение, но оно меня по некоторым причинам не устраивает.
В функции main класса General при событии onMouseDown происходит вызов метода класса Line, в котором хиттестом проверяется попадание щелчка мыши по кнопке.