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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.03.2010, 17:50
Альбина1983 вне форума Посмотреть профиль Отправить личное сообщение для Альбина1983 Найти все сообщения от Альбина1983
  № 11  
Ответить с цитированием
Альбина1983

Регистрация: Mar 2010
Сообщений: 8
GentleFLASH
Похоже, что вы правы. Все дело в том, что в объектах есть анимации и не один кадр. Хотя почему это играет роль? Объект он и есть объект, да и как тогда менять глубину клипов??!!
Поставила ваш код в первый кадр, но цифирьки все-равно тикают.
Может как-то иначе это реализовать, а то у меня начинается какое-то расстройство нервное на этой почве?!
Хотела, дура, блин сделать открыточку и вся уже извелась. Была бы программисткой.
Придумала вот такой вариант. Нарезать кусочки моих клипов, сделать графический объект и поставить его фоном, а в скрипте менять значения alpha клипов, с тем, чтобы в каждый момент был виден только один клип.
Хотя мне и кажется очень корявым такое решения, но похоже деваться некуда.
8 марта уже близко!!!

Или все-такие есть возможность менять глубину нестатических объектов (клипов).

Ребята, поставьте моему случаю диагноз и пропишите лечение, пожалуйста? :'(

Старый 04.03.2010, 18:19
GentleFLASH вне форума Посмотреть профиль Отправить личное сообщение для GentleFLASH Найти все сообщения от GentleFLASH
  № 12  
Ответить с цитированием
GentleFLASH

Регистрация: Apr 2009
Сообщений: 117
Рекоммендую перейти на ActionScript1-2, там таких багов нет насколько помню, да и эту открытку гораздо проще сделать именно под ним.

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
так устроит?
Вложения
Тип файла: rar test.rar (294.5 Кб, 61 просмотров)
__________________
freelance | Раздор

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
я бы так сделал:

Код AS3:
// Массив мувиков
var movieArray:Array = new Array();
 
// Кладем мувики на сцену и сразу в массив 
for (var i:int=0;i<5;i++) {
	var fiveFrameMovie = new FiveFrameMovie();
	fiveFrameMovie.y = 50 + 10 * i;
	fiveFrameMovie.x = 100;
	addChild(fiveFrameMovie);
	movieArray.push(fiveFrameMovie);
}
 
// Обеспечиваем запуск случайного мувика по таймеру
var lancherTimer:Timer = new Timer(1000);
lancherTimer.addEventListener("timer",randomMovieLancher);
lancherTimer.start();
 
// Поднимаем случайный мувик наверх и запускаем его
function randomMovieLancher(e:Event) {
	var iMovie:int = int(Math.random()*numChildren);
	setChildIndex(movieArray[iMovie],numChildren-1);
	movieArray[iMovie].gotoAndPlay(1);
}
В моем случае FiveFrameMovie - это мувик, который лежит в библиотеке и имеет в первом кадре stop(), а в пятом (последнем) - gotoAndStop(1);

Этот код я положил в первый кадр флэшки, хотя, конечно, правильнее его сделать отдельным классом.

Но логика видна хорошо.

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

Регистрация: Mar 2010
Сообщений: 8
derhab
Вы мой спаситель. :-*
Объясните пожалуйста, почему в моем варианте такая чехорда происходила?

Ну и если не затруднит, то один мелкий вопросик. Как сделать, чтобы первая анимация начиналась сразу?? Поставить:
Код AS3:
setInterval(swapChildrenDepth, *очень мало*);
А внутри функции swapChildrenDepth поставить какую-нибудь задержку???
И если так то как лучше сделать задержку? Через таймер? или какую-нибудь пустую функцию и setInterval???

Старый 05.03.2010, 12:47
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 16  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Код в кадрах сам по себе не является ошибкой.
Если бы тут были исходники глючного варианта, я бы глянул и, возможно, сказал бы в чем проблема.

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

Регистрация: Mar 2010
Сообщений: 8
kackbip
На предыдущей странице я описала и выложила показательный пример (ссылка на test.rar)
Смещение там для того, чтобы было понятно, что создается дополнительный объект.

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
При массовой разработке, когда аниматоры клепают мувики, а программисты должны все это взаимоувязывать в игровом контексте, код в кадрах - это бооооооольшая головная боль. И лучше сразу забыть о том, что он там может быть.

имхо, в кадрах должно быть только три команды - stop(), gotoAndStop(), gotoAndPlay()

Сорри за оффтоп.
Это не для этой темы

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Ну и если не затруднит, то один мелкий вопросик. Как сделать, чтобы первая анимация начиналась сразу??
просто вызвать 1 раз swapChildrenDepth() до установки интервала
__________________
freelance | Раздор


Последний раз редактировалось derhab; 06.03.2010 в 09:51.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
setChildIndex дубль

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

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


 


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


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