Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Ползунок смены кадров. (http://www.flasher.ru/forum/showthread.php?t=171609)

PHILLIPS 20.11.2011 02:30

Ползунок смены кадров.
 
Добрый день всем.
Имеется стандартный ползунок из библиотеки Flash:
http://cs5662.userapi.com/u11318921/...a266ea18/1.jpg
Необходимо, чтобы при его перетаскивании с определённым шагом менялись кадры на сцене.
Понимаю как это сделать на других языках программирования, на Action Script 2.0 к сожалению не знаю всех функций.
По идее это должно выглядеть так:
Если координата ползунка по y сместилась например на 5 px, тогда gotoAndStop(2);
Если координата ползунка по y сместилась например на 10 px, тогда gotoAndStop(3);
и т.д.

Помогите пожалуйста перевисти с русского на Action Script 2.0.

dark256 20.11.2011 07:03

Очень абстрактный вопрос.
Стандартный ползунок.Что вы имеете на выходе?
Предположим, что Х-координату.
Имея Х-мин и Х-макс, Math.round(Max-Min/current_pos)*кол-во_шагов вы получаете свой ГоуАндСтоп....

mooncar 20.11.2011 09:43

Подозреваю, что автор имеет ввиду компонет ScrollBar. Этот компонент стандартный, при инициации он подстраивается под содержащийся в нем контент и абстрактно получить из него произвольную полоску с ползунком без некоторых чрезмерных действий не получится.
Лучше сделайте свой ползунок, беря за основу алгоритм dark'а.

PHILLIPS 20.11.2011 12:54

Уважаемые, извиняюсь. Я скриншот подкреплял, но видимо, что-то на хостинге случилось.
Вот такой я нашёл ползунок в библиотеке Flash (http://s50.***********/i130/1111/fe/19ee43d287e3.jpg):
[IMG]http://s50.***********/i130/1111/fe/19ee43d287e3.jpg[/IMG]
Что про него можете сказать?

mooncar 20.11.2011 13:13

Этот ползунок (н-ся "фейдер") нужно настроить так, чтобы при движении кнопки по шкале вычислялась бы ее координата, и на ее основе нужно будет получить номер кадра.
Можно после нажатия на кнопку запускать в работу обработчик события onMouseMove, и в его теле можно получать эту координату и производить нужные вычисления и подавать команду gotoAndStop.
После отпускания обработчик можно удалить/деактивировать.

PHILLIPS 20.11.2011 13:18

Сейчас полазил в интернете, нашёл исходник видеопроигрывателя на Flash. Взял оттуда ползунок перемотки, всё хорошо, да только этот ползунок считывает информацию с самого первого кадра, а у меня на первых двух расположенно меню. Т.е получается так: я из меню захожу в программу, а ползунок уже переместился.
[IMG]http://s017.***********/i419/1111/94/0c6d9d818979.jpg[/IMG]
Поглядите пожалуйста исходник, может кто-нибудь сможе понять, как заставить его считывать кадры начиная с 3-го.

Исходник здесь

mooncar 20.11.2011 14:08

Вложений: 1
Вот, накидал пример реализации того, что вам нужно.
Если нужно не с первого кадра, а, например, с 3-го, то строку замените на
Код AS1/AS2:

var frameNumber:Number = Math.round((_root._totalframes - 3) * ( xPos / slider._width)) + 3;

PS. Понимать, как работает чужое и править под задачи ТС - задачка та еще :)

PHILLIPS 20.11.2011 21:50

Уважаемый, а можно версию для Flash Professional 8? А то моя 8-ка отказывается открывать.
**********
Спасибо огромное, самостоятельно нашёл конвертер в 8-ку.
Всё работает, как и хотелось. Огромная Вам благодарность за помощь.


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

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