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

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

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

Регистрация: Sep 2007
Сообщений: 6
По умолчанию Вертикальная прокрутка текста (клипа)

Необходимо сделать чтобы при нажатии на кнопку клип (в данном случае текст) прокручивался по вертикали. Грубо говоря, по событию нажатия на кнопку нужно двигать клип по _y

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

Код:
button.onPress=function () {
   while (myClip._y<500) { // двигаем до координаты y=500
        myClip._y++
   }
}
выявляются две проблемы:
1. Клип двигается слишком быстро. Мгновенно. Конечно можно было бы это исправить заменив приращение координаты не на 1, а например на 0,001, но дело в том что менее чем на 0,5 координату изменять нельзя, иначе код не работает. Об этом и в документации говорится. Так как быть? Может в нутри этого цикла как-то поставить задержку? Подскажите.

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

Заранее спасибо!


Последний раз редактировалось iNils; 31.10.2008 в 18:45.
Старый 31.10.2008, 18:55
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 2  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Можно двигать в onEnterFrame. Например, при нажатии мыши (onMouseDown + hitTest я бы делал) ставить какой-то флаг в true. в onEnterFrame смотреть на этот флаг и если он true, двигать клип. onMouseUp - ставить флаг в false.
__________________
while(1) {}

Старый 31.10.2008, 21:15
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 3  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Цитата:
Можно двигать в onEnterFrame. Например, при нажатии мыши (onMouseDown + hitTest я бы делал) ставить какой-то флаг в true. в onEnterFrame смотреть на этот флаг и если он true, двигать клип. onMouseUp - ставить флаг в false.
Ага и onEnterFrame все время крутиться,пока не закрыли флешку,очень полезно для процессора.
__________________
Я просто добрый шутник.

Старый 01.11.2008, 00:31
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
1. Клип будет двигаться мгновенно, даже если "разрешат" ставить 0.000000000006 и Вы этим воспользуетесь. Почему? Потому что выполнение кода происходит ДО перерисовки графики кадра. Т.е. сначала отрабатывает Ваш цикл while, в конце которого значение y становится больше/меньше исходного, потом перерисовывается кадр, и клип отрисовывается в новом месте. Мгновенно!
2. onPress - событие нажатие, а onRelease - событие отпускания. Что сложного?

Код:
scroll_down.onPress = function(){
    this.onEnterFrame = function(){
        content_mc._y+=SCROLL_STEP;
    }
}
scroll_down.onRelease = function(){
    delete this.onEnterFrame;
    }
}
как-то так.
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 01.11.2008 в 00:35.
Старый 01.11.2008, 02:07
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 5  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Цитата:
Ага и onEnterFrame все время крутиться,пока не закрыли флешку
Я бы не придавал этому особого значения
__________________
while(1) {}

Старый 01.11.2008, 11:17
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 6  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Цитата:
Я бы не придавал этому особого значения
А зря,так в проекте несколько таких EnterFramов бесконечных и флешке крышка
__________________
Я просто добрый шутник.

Старый 01.11.2008, 14:36
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 7  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
scarbo, можно пример где несколько enterFrame ложат флешку? Желательно не отходить от темы этого топика и не считать в enterFrame 200 корней квадрытных (:
__________________
while(1) {}

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

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

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


 


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


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