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

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

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

Регистрация: Mar 2009
Сообщений: 122
По умолчанию проигрывание мув клип при нажатой клавише и проигрывание его в обратную сторону

доброе время суток, флэшеры.
есть вопрос.
есть мув клип. в нем около 100 кадров.
надо чтобы при нажатии клавиши вверх мув клип проигрывался вперед. а при нажатии соответственно назад он проигрывался В ОБРАТНУЮ СТООРОНУ.
не знаю как сделать ни то ни другое

Добавлено через 2 часа 53 минуты
никто незнает?


Последний раз редактировалось alex001; 12.06.2009 в 12:56.
Старый 12.06.2009, 12:49
script_user вне форума Посмотреть профиль Отправить личное сообщение для script_user Найти все сообщения от script_user
  № 2  
Ответить с цитированием
script_user

Регистрация: Jun 2009
Сообщений: 2
мне бы тоже было интерестно.

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

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
Код AS1/AS2:
onEnterFrame = function() {
     prevFrame();
}

Старый 12.06.2009, 13:23
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 4  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
несовсем понял. я так понял что это функция которая должна производиться при нажатии клавиши. но это, как я понял, переведет мув клип на 1 кадр назад. а не будет проигрывать его задом на перед.

Старый 12.06.2009, 13:48
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 5  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Делай аналогично этому
Код AS1/AS2:
this.createEmptyMovieClip("square_mc", this.getNextHighestDepth());
square_mc.beginFill(0xFF0000);
square_mc.moveTo(10, 10);
square_mc.lineTo(100, 10);
square_mc.lineTo(100, 100);
square_mc.lineTo(10, 100);
square_mc.lineTo(10, 10);
square_mc.endFill();
 
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
    switch (Key.getCode()) {
    case Key.UP :
    square_mc._y -= 10;
   break;
    case Key.DOWN :
    square_mc._y += 10;
    break;
    }
};
Key.addListener(keyListener_obj);
square_mc-это твой мувик со ста кадрами..по нажатии на UP вызывай play()..при нажатии на Down зацикли prevFrame c условием 0 кадр..и усё.

Старый 12.06.2009, 14:07
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 6  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
Ты нажал клавишу вниз и на событие onEnterFrame твоего мувика вешаем функцию prevFrame(). Благодаря этому проигрывание фреймов будет происходить в обратном порядке. Когда нажали клавишу вверх просто удаляем этот обработчик.
Т.е.? пусть твой клип называется my_mc:
Код AS1/AS2:
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
    switch (Key.getCode()) {
       case Key.UP :
           delete my_mc.onEnterFrame;
       break;
       case Key.DOWN :
           my_mc.onEnterFrame = function() {prevFrame();}
       break;
    }
};
Key.addListener(keyListener_obj);

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

Регистрация: Mar 2009
Сообщений: 122
kil33,не совсем понял код. чтобы он двигался вверх вниз мне не надо. мне надо при нажатии на клавише вверх он не двигался а играл анимацию пока клавиша нажата. а когда нажата клавиша вниз он проигрываеться задом на перед. но с того места где он остановился. будет игрок. при нажатии на клавише вперед будет анимация дороги.(мув клипа с сто кадрами.).
Dr.OH, что то не работает этот код. а когда не неажато не вверх ни вниз мув клип должен останавливаться. мув клип должен проигрываться назад ПОКА клавиша вниз нажата.


Последний раз редактировалось alex001; 12.06.2009 в 14:49.
Старый 12.06.2009, 15:25
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 8  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
Код AS1/AS2:
mc.stop(); // стопорим ваш мувик
// flag - переменная которая определяет в какую сторону будет проигрываться мувик
// (1 - вперед, -1 - назад, 0 - стоять на месте).
var flag :Number = 0;
// определем функцию для мувика
mc.onEnterFrame = function(){
	if (flag == 1) mc.nextFrame();   // переходим на следующий кадр
	if (flag == -1) mc.prevFrame();  // переходим на предыдущий кадр
        // во всех остальных случаях мувик будет стоять
}
// листнер
var listener :Object = new Object();
// обработчик нажатий клавиши
listener.onKeyDown = function() {
    switch (Key.getCode()) {
       case Key.UP :
           flag = 1;  // если нажата вверх то выставляем флаг в 1
       break;
       case Key.DOWN :
          flag = -1  // если нажата вниз то - -1
       break;
    }
};
// обработчик отпускания клавиши сбрасываем флаг в 0, чтобы мувик остановился
listener.onKeyUp = function() {
    switch (Key.getCode()) {
       case Key.UP :
           flag = 0;
       break;
       case Key.DOWN :
          flag = 0
       break;
    }
};
// вешаем листнер с обработчиками на клвиатуру
Key.addListener(listener);


Последний раз редактировалось Gal4enochek; 12.06.2009 в 16:59. Причина: комментарии
Старый 12.06.2009, 15:55
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 9  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
не понял кода, НО РАБОТАЕТ!!!
спасибо огромное.

Старый 12.06.2009, 16:59
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 10  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
дописала комменты, может понятнее будет

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

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

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


 


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


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