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

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

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

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
Attention Не работает условие if

Здравствуйте! Помогите, пожалуйста, решить проблему!
Не могу разобраться - почему-то не работает такое условие:
Код AS3:
if (mc.mc1.mc2.currentFrame==mc.mc1.mc2.totalFrames) {
	trace (123);
	mc.mc3.mc4.play();
Всё, что до этой строчки - работает, а именно условие - нет. Может быть кто-то знает, почему это может быть? Даже не представляю, в чём может быть дело.
И ещё не работают строчки такого типа:
Код AS3:
mc.mc1.mc2.gotoAndStop(totalFrames);
А так - работает:
Код AS3:
mc.mc1.mc2.gotoAndStop(75); // 75 - номер последнего кадра
Помогите, пожалуйста, разобраться! Очень прошу! Мозги ничего не понимают.

Старый 02.05.2011, 18:36
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 2  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
может быть так
Код AS3:
mc.mc1.mc2.gotoAndStop(mc.mc1.mc2.totalFrames);
а условие не выполняется скорей всего потому что currentFrame в данный момент не равен totalFrames
попробуйте вывести их на экран и проверить
trace(mc.mc1.mc2.totalFrames, mc.mc1.mc2.currentFrame);

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

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
Спасибо, сейчас проверю!

Добавлено через 7 минут
Со вторым разобралась, вы правильно написали! Спасибо большое, работает!
Код AS3:
mc.mc1.mc2.gotoAndStop(mc.mc1.mc2.totalFrames);
А вот с этим:
Код AS3:
trace(mc.mc1.mc2.totalFrames, mc.mc1.mc2.currentFrame);
Выводится 75 и 1.
Но я не понимаю, как currentFrame может быть 1, если анимация проигрывается (а не стоит на месте)?


Последний раз редактировалось Ylik; 02.05.2011 в 18:45.
Старый 02.05.2011, 19:11
FlashWizard вне форума Посмотреть профиль Отправить личное сообщение для FlashWizard Найти все сообщения от FlashWizard
  № 4  
Ответить с цитированием
FlashWizard
[+1 22.06.11]
 
Аватар для FlashWizard

Регистрация: Jun 2010
Адрес: г. Ташкент
Сообщений: 364
Цитата:
Но я не понимаю, как currentFrame может быть 1, если анимация проигрывается (а не стоит на месте)?
Вы наверное один раз трейсите.

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

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
А сколько раз нужно?
Всё, что после строчки
Код AS3:
if (mc.mc1.mc2.currentFrame==mc.mc1.mc2.totalFrames) {
- не работает

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
А вы постоянно проверку эту, то что в if заключено, делаете?
__________________
Идите первым!

Старый 02.05.2011, 19:18
FlashWizard вне форума Посмотреть профиль Отправить личное сообщение для FlashWizard Найти все сообщения от FlashWizard
  № 7  
Ответить с цитированием
FlashWizard
[+1 22.06.11]
 
Аватар для FlashWizard

Регистрация: Jun 2010
Адрес: г. Ташкент
Сообщений: 364
Цитата:
А сколько раз нужно?
В вашем случае наверное нужно трейсить пока проигрывается. currentFrame то постоянно меняется, а вы выводите его один раз.

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

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
Извините, не очень поняла вопрос...
Это условие в функции находится, которая начинает работать при нажатии мыши.

Старый 02.05.2011, 19:20
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 9  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Делайте проверку по enterFrame.
__________________
тут я

Старый 02.05.2011, 19:20
FlashWizard вне форума Посмотреть профиль Отправить личное сообщение для FlashWizard Найти все сообщения от FlashWizard
  № 10  
Ответить с цитированием
FlashWizard
[+1 22.06.11]
 
Аватар для FlashWizard

Регистрация: Jun 2010
Адрес: г. Ташкент
Сообщений: 364
Подпишитесь на событие ENTER_FRAME и в обработчике выводите, а при окончании проигрывания - отпишитесь от события.

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

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

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


 


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


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