Вернуться   Дизайнерский форум » ДИЗАЙН И ГРАФИКА » Технологии Flash

Вертикальная прокрутка текста (клипа)

Обсуждение темы Вертикальная прокрутка текста (клипа) в разделе Технологии Flash, часть категории ДИЗАЙН И ГРАФИКА; Необходимо сделать чтобы при нажатии на кнопку клип (в данном случае текст) прокручивался по вертикали. Грубо говоря, по событию нажатия на кнопку нужно ...


Закрытая тема
 
Опции темы
Старый 31.10.2008, 17:45   #1
Необходимо сделать чтобы при нажатии на кнопку клип (в данном случае текст) прокручивался по вертикали. Грубо говоря, по событию нажатия на кнопку нужно двигать клип по _y

Делаю следующим образом:

button.onPress=function () {
while (myClip._y<500) { // двигаем до координаты y=500
myClip._y++
}
}

выявляются две проблемы:
1. Клип двигается слишком быстро. Мгновенно. Конечно можно было бы это исправить заменив приращение координаты не на 1, а например на 0,001, но дело в том что менее чем на 0,5 координату изменять нельзя, иначе код не работает. Об этом и в документации говорится. Так как быть? Может в нутри этого цикла как-то поставить задержку? Подскажите.

2. onPress - это событие нажатия. Оно произошло и все. А мне нужно чтобы событие происходило по "УДЕРЖАНИИ" кнопки, или в крайнем случае при наведении. Т.е. прокрутка текста осущесвляется при нажатии и удержании кнопки. Какой обработчик использовать?

Заранее спасибо!
 
Старый 31.10.2008, 17:45
Ссылки
Старый 31.10.2008, 20:03   #2
Честно, я хреново флешку знаю, но!
вам поможет: onKeyUp onKeyDown и либо onTimer либо setInterval -оподобное
 
Старый 01.11.2008, 04:36   #3
battrack зачем так сложно?
создаете мувиклип из 2-ух кадров и 2-х слоев. В один слой - создаем текстовое поле, в пропертисах, в окошке Var(variable) пишем ему text, и кноки (верх/низ). Во втрой слой - 2ключевых кадра с АС.
Первому кадру пишем:
Код:
DAPress = 1;
//задержка после нажима кнопки {DelayAfterPress}.
//DAPress=12 дает задержку в течение 1 секунды (если FrameRate в свойствах ролика 12 fps)
text = "тут собственно текст и совсем никчему создавать мувиклип для текста";
if (Math.abs(scroll)==1) {
	text.scroll += scroll;
}
if (Math.abs(scroll)>1) {
	scroll -= scroll/Math.abs(scroll);
}
Второму ключевому кадру пишем:
Код:
gotoAndPlay(1);
Кнопкам пишем соответсвенно:
Код:
on (press) {
	scroll = DAPress;
	text.scroll += 1;
}
on (release) {
	scroll = 0;
}
и второй
Код:
on (press) {
	scroll = -DAPress;
	text.scroll += -1;
}
on (release) {
	scroll = 0;
}
Зачем нужен второй ключевой кадр, очень просто для непрерывного цикла, если этого не слелать, тогд наш DelayAfterPress просто не сработает, и останется только on (press) кстати, в этом случае, когда DelayAfterPress не нужен и используется лишь один кадр, то если text.scroll += 1; или text.scroll -= 1; изменить число в большую сторону - скорость прокурутки (размер шага) возрастет
 
Старый 01.11.2008, 14:43   #4
Вот собственно пример рабочего swf
Scroll.swf
 
Старый 01.11.2008, 22:53   #5
кстати, забыл еще сказать, что в этом случае работает и ролик мыши.
battrack, в Вашем случае ролик работать не будет
 
Старый 01.11.2008, 22:53
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прокрутка DIV l8l HTML, CSS, JavaScript 1 15.05.2014 13:23
Как прочитать параметры запуска клипа в as3? Асмодиан Технологии Flash 0 01.02.2010 11:11
Прокрутка текста во Флеше Nielson Технологии Flash 17 24.12.2009 21:52
Прокрутка в проигрывателе wmp candy_man HTML, CSS, JavaScript 0 28.04.2007 23:35
Вместо текста иероглифы в поле ввода текста IgorQ Технологии Flash 1 22.03.2007 20:49


Текущее время: 13:08. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум