Доброго времени суток, Форумчане !
У меня такой вопрос. Как проще описать процедуру "запоминания" и прорисовки мувиклипа ?
Вот мои действия :
1. В первом кадре создаю три мувиклипа, называю их S1 (круг), S2 (квадрат), S3 (элипс). Там же в кадре пишу код проверки :

Код AS1/AS2:
stop();
// Выбираем нужный мувик и рисуем его в следующем кадре
onMouseDown = function():Void {
if (S1.hitTest(_root._xmouse, _root._ymouse))
{
gotoAndStop(2);
}
if (S2.hitTest(_root._xmouse, _root._ymouse))
{
gotoAndStop(3);
}
if (S3.hitTest(_root._xmouse, _root._ymouse))
{
gotoAndStop(4);
}
}
2. Во втором третьем и четвёртом кадре рисую выбранный мувик и выбираю второй мувик

Код AS1/AS2:
S = 1; // переменная для запоминания первого мувика
stop();
// Выбираем нужный мувик и рисуем его в следующем кадре
onMouseDown = function():Void {
if (S1.hitTest(_root._xmouse, _root._ymouse))
{
SS = 1; // переменная для запоминания второго мувика
gotoAndStop(5);
}
if (S2.hitTest(_root._xmouse, _root._ymouse))
{
SS = 2; // переменная для запоминания второго мувика
gotoAndStop(5);
}
if (S3.hitTest(_root._xmouse, _root._ymouse))
{
SS = 3; // переменная для запоминания второго мувика
gotoAndStop(5);
}
}
3. В пятом кадре проверяю какие мувики выбраны, и, в зависимости от этого, рисую их с шестого по четырнадцатый кадр.

Код AS1/AS2:
// проверяем чему равен первый и второй мувик, и, в зависимости от этого,
// рисуем их
if (S == 1) // если первый мувик равен "кругу"
{ if (SS == 1) // и если второй мувик равен кругу то рисуем круг и круг
{ gotoAndStop(6); }
if (SS == 2) // и если второй мувик равен квадрату то рисуем круг и квадрат
{ gotoAndStop(7); }
if (SS == 3) // и если второй мувик равен элипсу то рисуем круг и элипс
{ gotoAndStop(8); }
}
if (S == 2) // если первый мувик равен "квадрату"
{ if (SS == 1) // и если второй мувик равен кругу то рисуем квадрат и круг
{ gotoAndStop(9); }
if (SS == 2) // и если второй мувик равен квадрату то рисуем круг и квадрат
{ gotoAndStop(10); }
if (SS == 3) // и если второй мувик равен элипсу то рисуем круг и элипс
{ gotoAndStop(11); }
}
if (S == 3) // если первый мувик равен "элипсу"
{ if (SS == 1) // и если второй мувик равен кругу то рисуем элипс и круг
{ gotoAndStop(12); }
if (SS == 2) // и если второй мувик равен квадрату то рисуем элипс и квадрат
{ gotoAndStop(13); }
if (SS == 3) // и если второй мувик равен элипсу то рисуем круг и элипс
{ gotoAndStop(14); }
}
Получается что я горожу "большой огород", который растёт в геометрической прогрессии, а ведь ещё надо как то описывать и третий мувик ...
Как мне лучше справиться с этой проблемой ?
Буду признателен за любые идеи и мысли, исходник прилагаю.