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

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

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

Регистрация: Feb 2013
Сообщений: 31
По умолчанию цикличность анимации

Есть анимация которая переходит при нажатии на кнопку по кадрам, кадры вытаскиваются из массива, изначальный кадр стартует с пятого но приходиться кликать два раза, что бы запустить переход, при проходе последнего кадра приходиться нажимать на кнопку так же два раза что бы опять возобновить анимацию. В output выводиться номер кадра (5) два раза. Как можно зациклить анимацию так что бы возобновлять ее одним кликом. Вот фрагмент кода:

Код AS3:
function mc_unit3Click(e:MouseEvent):void{
 
 
 
    var arrayOfFrames2:Array = arrayOfFrames.concat();
	if(mc_unit3.currentFrame == arrayOfFrames2[arrayOfFrames2.length-1])
{
mc_unit3.gotoAndStop(arrayOfFrames2[0]);
trace(arrayOfFrames2[0]);
currFrame2 = 0;
return;
}
 
 
 
	mc_unit3.gotoAndStop(arrayOfFrames2[currFrame2]);
	trace(arrayOfFrames2[currFrame2]);
	currFrame2++;
 
}

Старый 13.07.2013, 23:04
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 2  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Весь код давайте , вы сделали не так как вам писали раньше.

Старый 13.07.2013, 23:26
kirill1989 вне форума Посмотреть профиль Отправить личное сообщение для kirill1989 Найти все сообщения от kirill1989
  № 3  
Ответить с цитированием
kirill1989

Регистрация: Feb 2013
Сообщений: 31
Код AS3:
var currFrame:uint = 0;
var needToWrite:String = "true";
var arrayOfFrames:Array = new Array();
 
 
 
var currFrame2:uint = 0;
 
 
var myXml:XML = <frames>
					<frame num="1" active="false"/>
					<frame num="2" active="false"/>
					<frame num="3" active="false"/>
					<frame num="4" active="false"/>
					<frame num="5" active="true"/>
					<frame num="6" active="true"/>
					<frame num="7" active="true"/>
					<frame num="8" active="false"/>
					<frame num="9" active="false"/>
					<frame num="10" active="false"/>
					<frame num="11" active="false"/>
					<frame num="12" active="false"/>
					<frame num="13" active="false"/>
					<frame num="14" active="false"/>
					<frame num="15" active="false"/>
					<frame num="16" active="false"/>
					<frame num="17" active="false"/>
					<frame num="18" active="false"/>
					<frame num="19" active="false"/>
					<frame num="20" active="false"/>
					<frame num="21" active="false"/>
					<frame num="22" active="false"/>
					<frame num="23" active="false"/>
					<frame num="24" active="false"/>
					<frame num="25" active="false"/>
					<frame num="26" active="false"/>
					<frame num="27" active="false"/>
					<frame num="28" active="false"/>
					<frame num="29" active="false"/>
					<frame num="30" active="false"/>
					<frame num="31" active="false"/>
					<frame num="32" active="false"/>
					<frame num="33" active="false"/>
					<frame num="34" active="false"/>
					<frame num="35" active="false"/>
					<frame num="36" active="false"/>
					<frame num="37" active="false"/>
					<frame num="38" active="false"/>
					<frame num="39" active="false"/>
					<frame num="40" active="false"/>
					<frame num="41" active="false"/>
					<frame num="42" active="false"/>
					<frame num="43" active="true"/>
					<frame num="44" active="true"/>
					<frame num="45" active="true"/>
					<frame num="46" active="true"/>
					<frame num="47" active="true"/>
					<frame num="48" active="true"/>
		</frames>;
 
		for each(var frame:XML in myXml.frame)
{
	if (frame.@active == needToWrite)
	{
		arrayOfFrames.push(frame.@num);
	}
}
 
function mc_unit3Click(e:MouseEvent):void{
 
 
 
    var arrayOfFrames2:Array = arrayOfFrames.concat();
	if(mc_unit3.currentFrame == arrayOfFrames2[arrayOfFrames2.length-1])
{
mc_unit3.gotoAndStop(arrayOfFrames2[0]);
trace(arrayOfFrames2[0]);
currFrame2 = 0;
return;
}
 
 
 
	mc_unit3.gotoAndStop(arrayOfFrames2[currFrame2]);
	trace(arrayOfFrames2[currFrame2]);
	currFrame2++;
 
}

Старый 13.07.2013, 23:52
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 4  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Я не нашел у вас слушатель события нажатия кнопки.Высылаю файл посмотрите и найдите 10 отличий)))
Вложения
Тип файла: rar animateFromXML.rar (8.0 Кб, 40 просмотров)

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

Регистрация: Feb 2013
Сообщений: 31
Цитата:
Сообщение от belv Посмотреть сообщение
Я не нашел у вас слушатель события нажатия кнопки.Высылаю файл посмотрите и найдите 10 отличий)))
Теперь работает так как мне надо! Но как мне поправить код, что бы происходил возврат обратно по кадрам на созданную мною другую кнопку?

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Цитата:
Сообщение от kirill1989 Посмотреть сообщение
Но как мне поправить код, что бы происходил возврат обратно по кадрам на созданную мною другую кнопку?
При нажатии кнопки вперёд - currFrame2++, при нажатии кнопки назад - currFrame2--, далее проверка на (-1)/array.length и проиграть gotoAndStop.
__________________
Нормально делай — нормально будет!

Старый 14.07.2013, 02:58
kirill1989 вне форума Посмотреть профиль Отправить личное сообщение для kirill1989 Найти все сообщения от kirill1989
  № 7  
Ответить с цитированием
kirill1989

Регистрация: Feb 2013
Сообщений: 31
Цитата:
Сообщение от tsarapkabel Посмотреть сообщение
При нажатии кнопки вперёд - currFrame2++, при нажатии кнопки назад - currFrame2--, далее проверка на (-1)/array.length и проиграть gotoAndStop.
А можно по подробнее, я вроде попробовал, при нажатии идет на один кадр вперед, потом отматывает, и когда доходит до первого кадра останавливается т.е. нету цикла не зацикливается(

Старый 14.07.2013, 12:05
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 8  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Вот так , но я не могу понять зачем вам понадобился такой функционал.
Вложения
Тип файла: rar animateFromXML.rar (9.2 Кб, 44 просмотров)

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

Теги
анимация , цыкличность
Опции темы
Опции просмотра

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

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


 


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


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