![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 79
|
Может кто знает, наверна нет
, но вдруг мона как-нибудь, ведь прикольно было бы там например "что-то типа меню" прокручивать колесиком иль другую фичу![]() |
|
|||||
|
__________________
http://creativeinfinite.com Пишу на AS 4 =)) |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 79
|
Спасибо за инфу, буду знать теперь=)
|
|
|||||
|
Регистрация: Oct 2008
Сообщений: 1
|
Подскажите пожалуйста, как сделать полноценный скрол. Чтобы и роликом и перетаскиванием и наведением на любую точку скрола. Чтоб как норм скрол винды, но с нашим дизайном.
Я нашёл как сделать скрол перетаскиванием : Stage.scaleMode = "noScale";
_root._quality = "BEST";
//
//Сегодня мы разберём один из видов скроллинга во Flash. Это будет скроллинг не
//для текстовых полей (TextField), а для Movie Clip'ов, внутри которых может быть
//любое содержимое.
//Принцип таков:
//1) На объект, который нужно будет прокручивать накладывается маска.
//2) Объект, который мы "скроллируем" (прокручиваем) сдвигается по оси Y, если
//это вертикальный скроллинг, или по оси X, если это горизонтальный скроллинг.
//Таким образом, при движении, будет определённая часть обхекта будет открываться,
//а определённая скрываться. Та, что будет находится "под" маской, будет видна,
//та что будет выходить за пределы маски, будет скрыта.
//
//Накладываем маску на объект.
obj_mc.setMask(mask_mc);
//Находим разницу между общей высотой обхекта и высотой "видимой части", видимая
//часть у нас будет составлять площадь маски, и, соответственно, высота видимой
//части - это будет высота маски.
var varDif:Number = obj_mc._height-mask_mc._height;
//Создаём событие на нажатие кнопки скроллинга
scroll_mc.onPress = function() {
//Переходим во второй кадр скроллинга, чтобы сделать нажатие наглядней
this.gotoAndStop(2);
//Начинаем перетаскивание кнопки скроллинга
//startDrag(lockCenter,left,top,right,bottom);
//lockCenter - может принимать значения true или false, если lockCenter равен
//true, то центр перетаскиваемого объекта всегда совпадать с курсором мышки.
//Если false, то происходит обычное перетаскиавание, куда мышкой клацнули,
//за то место и потянули.
//left - координата левой границы, за которую объект выходить не будет;
//top - координата верхней границы;
//right - координата правой границы;
//bottom - координата нижней границы.
//Если вы хотите, что объект можно было перетаскивать безо всяких ограничений,
//то можете просто не заполнять эти параметры. Если вам нужно, чтобы по
//вертикали объект нельзя было передвигать, то значения top и bottom должны
//быть одинаковыми. Если хотите, чтобы обхект нельзя было перетаскивать по
//горизонтали, то left и right должны быть равны друг другу.
//Кстати все эти параметры являются не обязательными, то есть, вы можете
//просто записать startDrag() и перетаскивание объекта всёравно включится,
//и никаких ограничений к этому перетаскиванию применено не будет.
this.startDrag(false,this._x,120,this._x,885);
//Создаём событие на ДВИЖЕНИЕ МЫШКИ.
this.onMouseMove = function() {
//Пропорционально тому, на сколько скроллинг сместился ниже начала оси Y
//объект, который мы прокручиваем, должен смещаться вверх.
_root.obj_mc._y = 120-_root.varDif*((this._y-120)/765);
};
};
//После того, как пользователь отпустил кнопку мышки, мы должны остановить
//прокручивание.
scroll_mc.onRelease = scroll_mc.onReleaseOutside=function () {
//Переходим на первый кадр скроллинга.
this.gotoAndStop(1);
//Останавливаем перетаскивание скроллинга
this.stopDrag();
//Удаляем событие на ДВИЖЕНИЕ МЫШКИ, с помощью которого и происходило
//прокручивание объекта.
delete this.onMouseMove;
};
Последний раз редактировалось iNils; 30.10.2008 в 23:58. |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 79
|
Люди, чего-то у меня не получается, со звуком фигня какая-то,
короче задаю след кодом громкость некоторому звуку(предварительно он по всем правилам объявлен) var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(wheel) {
if (wheel>0) {
xvolume=xvolume+75;
мойзвук.setVolume(xvolume);
}
else {
xvolume=xvolume-75;
мойзвук.setVolume(xvolume);
}
}
Mouse.addListener(mouseListener);
я ламо самому не докумекать=) |
|
|||||
|
Если это весь код, то могу предположить что нужно сначала задать переменной xvolume какое-то значение, либо xvolume = 0, либо присвоить уровень звука на данный момент. И вообще если что то не получаеться проверяйте функцией trace();
Это даст вам понять что не так и увеличивается ли переменная вообще. В вашем случае она будет равна NaN. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Во-во, заодно узнаете, сколько раз возникает событие MouseWheel за одно движение Вашего пальца по колесику. Было бы еще неплохо разобраться, бывает ли громкость меньше 0 и больше 100, прежде чем задавать такой обалденный шаг регулятору.
---------- openlex - посмотрите мой скроллер http://flasher.ru/forum/showthread.php?t=111891
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 31.10.2008 в 12:05. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:56. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|