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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.05.2009, 22:19
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 1  
Ответить с цитированием
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
По умолчанию как остановить анимацию на определенном кадре?

Здравствуйте.
есть мувиклип к которому привязан класс.
и нужно сделать чтоб при нажатии кнопки играла анимация со 2ого кадра.
как прописать чтоб если анимация дошла до 40ого кадра и останавилась на нем.
когда пишу в кадре stop(); все работает.
но мне нужно знать как сделать это програмно.
вот код с которым работаю:
Код AS3:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
 
public class MenuForSite extends MovieClip {
 public function MenuForSite() {
  menu_btn.buttonMode = true;
  menu_btn.addEventListener(MouseEvent.CLICK, onClick);
  stop();
 
  function onClick(e:MouseEvent):void {
   if (currentFrame == 1) {
    gotoAndPlay(2);
   } else if (currentFrame == 40) {
    gotoAndPlay(41);
   }
  }
 }
}
}

Старый 18.05.2009, 22:45
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
addFrameScript

Старый 18.05.2009, 22:49
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 3  
Ответить с цитированием
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
я пробовала так
Код AS3:
addFrameScript(40,stop)
да движение останавливается но при повторном нажатии на кнопку должна проигрыватся другая анимация, но она так и остается на стоп

Старый 19.05.2009, 16:57
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Эм... а play() использовали?))

Хотя, помню была похожая проблема. Времени детально заняться её изучением не было, в голову пришло не изящное, но тем не менее работающее решение - просто перекрыть stop другой ф-цией.
Например, после нажатия на кнопку применить
Код AS3:
addFrameScript(40,function(){});

Старый 19.05.2009, 17:30
Aerohd вне форума Посмотреть профиль Отправить личное сообщение для Aerohd Найти все сообщения от Aerohd
  № 5  
Ответить с цитированием
Aerohd

Регистрация: Sep 2007
Сообщений: 112
Зайдите сюда http://blog.greensock.com/tweenmaxas3/. Здесь есть удобный твинер.

Старый 19.05.2009, 22:33
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
А как это связано с вопросом?

Старый 20.05.2009, 01:29
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 7  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Код AS3:
package {
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
 
    public class MenuForSite extends MovieClip 
    {
        public function MenuForSite() 
        {
            menu_btn.buttonMode = true;
            menu_btn.addEventListener(MouseEvent.CLICK, onClick);
            addEventListener(Event.ENTER_FRAME, stopIfNeeded);
            stop();
        }
 
        function onClick(e:MouseEvent):void 
        {
            if (currentFrame == 1) 
            {
                gotoAndPlay(2);
            } 
        }
 
        function stopIfNeeded(e:Event):void
        {
            if (currentFrame == 40) 
            {
                stop();
                removeEventListener(Event.ENTER_FRAME, stopIfNeeded);
            } 
        }
    }
}
__________________
Дело не в тебе

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
больно знакомый код, эта тема уже была.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 20.05.2009, 19:02
IDimitry вне форума Посмотреть профиль Найти все сообщения от IDimitry
  № 9  
Ответить с цитированием
IDimitry
Banned
[+5 23.05.09]
[+1 23.05.09]

Регистрация: Mar 2009
Сообщений: 93
Какой кошмар. Как-то не приходилось останавливать мувик на определенном кадре и не задумывался над реализацией. Даже не думал, что для того, чтобы остановить мувик на опреденном кадре, надо анализировать каждый кадр.
По отношению к АС2 первый реальный (в моей шкале ценностей) "провис" АС3.
Хотя для чего-то же так сделано (или точнее - не сделано).

Старый 21.05.2009, 00:17
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 10  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Это просто способ без addFrameScript, последний не рассматриваем, т.к. он не документирован.

Вообще, я не вижу в чем проблема - взяли и написали в кадре stop и все. Всякие заморочки вроде "писать только используя внешние файлы классов" - не более, чем идолопоклонничество. В мувииклипах почему бы stop() и не расставить где надо?
__________________
Дело не в тебе

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

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

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


 


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


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