Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 13.09.2011, 07:08
_LennY_ вне форума Посмотреть профиль Отправить личное сообщение для _LennY_ Найти все сообщения от _LennY_
  № 1  
Ответить с цитированием
_LennY_
 
Аватар для _LennY_

Регистрация: Sep 2011
Сообщений: 19
Question Как "запомнить" выбранный мувик ?

Доброго времени суток, Форумчане !

У меня такой вопрос. Как проще описать процедуру "запоминания" и прорисовки мувиклипа ?


Вот мои действия :

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); }
}
Получается что я горожу "большой огород", который растёт в геометрической прогрессии, а ведь ещё надо как то описывать и третий мувик ...
Как мне лучше справиться с этой проблемой ?
Буду признателен за любые идеи и мысли, исходник прилагаю.
Вложения
Тип файла: rar qwestion.rar (6.1 Кб, 29 просмотров)

Создать новую тему   Часовой пояс GMT +4, время: 01:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.