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

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

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

Регистрация: Apr 2009
Сообщений: 74
По умолчанию Создание ползункового регулятора

Добрый день, господа. Во флеше я новичок, только изучаю. Прочитал урок по созданию полозковых регуляторов. Все понятно. Но в этом уроке все коды написаны на объектах. Попытался написать код в отдельном фрейме:
Код AS1/AS2:
onLoad = function () {
reg.btn._x = reg.bar._width*(100-30)/170;
};
onMouseMove = function () {
percent = Math.round(reg.btn._x/reg.bar._width*170+30);
_root.kot._xscale = percent;
_root.kot._yscale = percent;
reg.btn.out = percent+" %";
};
onLoad = function () {
slid.my_btn._x = slid.bar2._width;
};
onMouseMove = function () {
alp = Math.round(slid.my_btn._x/slid.bar2._width*100);
_root.kot._alpha = alp;
_root.kot._alpha = alp;
slid.my_btn.out2 = alp+" %";
};
Отдельно, каждый регулятор работает. А в таком виде работает только один (код которого прописан ниже).
http://slil.ru/27373086
Здесь исходник. Спасибо.


Последний раз редактировалось Wlspartak; 06.04.2009 в 12:58.
Старый 03.04.2009, 13:42
point111 вне форума Посмотреть профиль Отправить личное сообщение для point111 Найти все сообщения от point111
  № 2  
Ответить с цитированием
point111
[+1 15.06.10]
 
Аватар для point111

Регистрация: Feb 2009
Сообщений: 56
ты onMouseMove = function переназначаешь, т.е. указав его снова, ты стираешь предыдущее объявление.
Вот переставь из местами, и у тебя заработает нижний бегунок.
Надо так:
Код AS1/AS2:
onLoad = function () {
	slid.my_btn._x = slid.bar2._width;
	reg.btn._x = reg.bar._width*(100-30)/170;
};
 
onMouseMove = function () {
	percent = Math.round(reg.btn._x/reg.bar._width*170+30);
	_root.kot._xscale = percent;
	_root.kot._yscale = percent;
	reg.btn.out = percent+" %";
	alp = Math.round(slid.my_btn._x/slid.bar2._width*100);
	_root.kot._alpha = alp;
	_root.kot._alpha = alp;
	slid.my_btn.out2 = alp+" %";
};

Старый 03.04.2009, 13:51
Wlspartak вне форума Посмотреть профиль Отправить личное сообщение для Wlspartak Найти все сообщения от Wlspartak
  № 3  
Ответить с цитированием
Wlspartak

Регистрация: Apr 2009
Сообщений: 74
Понял, спасибо. Чтоб не плодить темы, задам еще один ламерский вопрос:
К примеру, на таймлайне есть графический объект, конвертируем его (f8) в кнопку, кнопу конвертируем в мувиклип. Что мы получили? Три объекта, находящихся на разных уровнях, или мувик?

Старый 03.04.2009, 14:24
point111 вне форума Посмотреть профиль Отправить личное сообщение для point111 Найти все сообщения от point111
  № 4  
Ответить с цитированием
point111
[+1 15.06.10]
 
Аватар для point111

Регистрация: Feb 2009
Сообщений: 56
на шкале один мувик с двойным вложением, в библиотеке три объекта

обратиться к размерам объекта будет
мувик.кнопка.объект.размер=трампампам

если
мувик.размер=трампампам
то изменится всё вместе, но надо учитывать, что у объекта сохранились свои собственные координаты, которые пересчитываются относительно мувик, и если ты объект будешь менять обращаясь к нему напрямую или посредством библиотеки, то меняться он будет ВНУТИРИ мувика.

Старый 03.04.2009, 14:38
Wlspartak вне форума Посмотреть профиль Отправить личное сообщение для Wlspartak Найти все сообщения от Wlspartak
  № 5  
Ответить с цитированием
Wlspartak

Регистрация: Apr 2009
Сообщений: 74
Разъясните еще с уровнями. Когда аттачим мувик, указываем ему уровень. На простом примере: На сцене два разных мувика (mc и mc1). Они на одном уровне? Так? В один из них вставляем mc2, в него mc3 и т.д. Это уже будут разные уровни? Самый высокий уровень у mc3 будет, или наоборот, который ближе к основной таймлайн?

Старый 03.04.2009, 17:34
point111 вне форума Посмотреть профиль Отправить личное сообщение для point111 Найти все сообщения от point111
  № 6  
Ответить с цитированием
point111
[+1 15.06.10]
 
Аватар для point111

Регистрация: Feb 2009
Сообщений: 56
На каждом уровне может размещаться только один
фильм. Чем больше уровень, тем выше отображается расположенный на нем фильм. Адресуются уровни по общей схеме: _leveln, где n — номер нужного уровня. Отсчет уровней ведется с 0 (если мувик загружен или создан программно). Ограничений на высоту уровня не существует. При загрузке первого фильма он помещается на самый нижний уровень: _level0. По этой причине подгружаемые при помощи прописанных в нем скриптовых команд другие фильмы будут отображаться строго выше него.


Первый созданный мувик вручную расположен на уровне -16383, но его можно положить и ниже.

Если ты втыкаешь один мувик в другой, ес-но ты перемещаешь его со своего уровня

Старый 06.04.2009, 13:04
Wlspartak вне форума Посмотреть профиль Отправить личное сообщение для Wlspartak Найти все сообщения от Wlspartak
  № 7  
Ответить с цитированием
Wlspartak

Регистрация: Apr 2009
Сообщений: 74
point111:Большое спасибо, вы многое прояснили. Хочу еще раз вернуться к первому посту. Если найдется время, посмотрите исходник. Не могу перенести код с кнопок в отдельный фрейм.
Пытался сделать так(один из вариантов):
Код AS1/AS2:
this.slid.my_btn.onPress = function() {
	startDrag("", true, 0, 0, _parent.bar2._width, 0);
};
this.slid.my_btn.onReleaseOutside = function() {
	stopDrag();
};
Не работает.


Последний раз редактировалось Wlspartak; 06.04.2009 в 14:40.
Старый 07.04.2009, 18:31
point111 вне форума Посмотреть профиль Отправить личное сообщение для point111 Найти все сообщения от point111
  № 8  
Ответить с цитированием
point111
[+1 15.06.10]
 
Аватар для point111

Регистрация: Feb 2009
Сообщений: 56
тебе надо почитать что такое "область видимости" переменных, _root, _parent, this, level
Ты не понимаешь адресацию, без этого понятия ты не сможешь управлять объектами и переменными в разных объектах.
Вот у тебя _parent.bar2._width - а ты уже вытащил этот код из клипа, куда ты собираешья выходить?


В твоем случае синтаксис такой (распологается код на первом кадре):
Код AS1/AS2:
slid.my_btn.onPress = function() {
	startDrag("slid.my_btn", true, 0, 0, slid.bar2._width, 0);
};
slid.my_btn.onMouseUp = function() {
stopDrag();
};
 
reg.btn.onMouseUp = function() {
	stopDrag();
};
reg.btn.onPress = function() {
	startDrag("reg.btn", true, 0, 0, reg.bar._width, 0);
};
а вот хрена не работает onReleaseOutside я не знаю.
А зачем тебе вытаскивать код движения ползунков из клипов? нафига мешать в кучу столько текста...

Старый 07.04.2009, 19:03
Wlspartak вне форума Посмотреть профиль Отправить личное сообщение для Wlspartak Найти все сообщения от Wlspartak
  № 9  
Ответить с цитированием
Wlspartak

Регистрация: Apr 2009
Сообщений: 74
Насчет адресации согласен, с ней и разбираюсь. С кодом разобрался.
Цитата:
А зачем тебе вытаскивать код движения ползунков из клипов?
Да вроде как рекомендуют код писать в одном фрейме.

Старый 07.04.2009, 19:11
point111 вне форума Посмотреть профиль Отправить личное сообщение для point111 Найти все сообщения от point111
  № 10  
Ответить с цитированием
point111
[+1 15.06.10]
 
Аватар для point111

Регистрация: Feb 2009
Сообщений: 56
рекомендуют код не разбрасывать по всему клипу, чтобы потом не искать куски непонятно где, а ты уже в крайность впадаешь, код ползунка принадлежит только ему и не может использоваться в другом месте, вот пусть в ползунке и лежит и не захламляет основной текст. ИМХО.


Последний раз редактировалось point111; 07.04.2009 в 19:15.
Создать новую тему Ответ Часовой пояс GMT +4, время: 10:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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