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

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

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

Регистрация: Jun 2009
Сообщений: 19
Question В клипах, вызываемых скриптом, не проигрывается анимация

Доброго времени.

В данном коде проигрывается клип, потом другой, третий и т.д. Вобщем они наслаиваются друг на друга и получается "жесть".
Я не могу "догнать", как удалить первый клип перед проигрыванием второго.

Код AS1/AS2:
onEnterFrame = function() {
	var $num = Math.ceil(Math.random()*5+1);
	var clip = _root.attachMovie("clip"+$num, "newName",_root.getNextHighestDepth());
	clip._x = (Stage.width/2);
	clip._y = (Stage.height/2);
	delete clip.onEnterFrame;
}
	setInterval(clip, 1*1000);


Последний раз редактировалось ryudzaki; 26.08.2009 в 12:37.
Старый 26.08.2009, 11:21
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 2  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
как вариант можно вот так
Код AS1/AS2:
var clip = _root.attachMovie("clip"+$num, "newName",100);

Старый 26.08.2009, 11:29
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 3  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
removeMovieClip();
Можно так же аттачить на конкретную глубину, а не на динамически определяемую через _root.getNextHighestDepth(). Скажем,
Код:
var clip = _root.attachMovie("clip"+$num, "newName",1000);
Тогда предыдущий приаттаченный клип автоматически удалится с глубины 1000 и будет заменен следующим. 1000 - это для примера, можно любую другую глубину юзать.
ЗЫ а вот это что?
Код:
setInterval(clip, 1*1000);
И где у вас ентерфрейм, в руте или на клипе, что аттачится?

Старый 26.08.2009, 11:32
ryudzaki вне форума Посмотреть профиль Отправить личное сообщение для ryudzaki Найти все сообщения от ryudzaki
  № 4  
Ответить с цитированием
ryudzaki

Регистрация: Jun 2009
Сообщений: 19
Цитата:
setInterval(clip, 1*1000);
Это чтобы через опред. интервал запускался клип. Но я не могу его граммотно применить.

Добавлено через 7 минут
Цитата:
И где у вас ентерфрейм, в руте или на клипе, что аттачится?
Я пробник делаю в руте, но по сути задумки в клипе будет

Старый 26.08.2009, 11:51
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 5  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Попробуйте так:
Код:
function attachRandomClip() {
	var num = Math.ceil(Math.random() * 5 + 1);
	var clip = _root.attachMovie("clip" + num, "newName", 1000, {_x:Stage.width / 2, _y:Stage.height / 2});
}
var intvID = setInterval(attachRandomClip, 1000);
Этот код в руте разместите.

Старый 26.08.2009, 12:09
ryudzaki вне форума Посмотреть профиль Отправить личное сообщение для ryudzaki Найти все сообщения от ryudzaki
  № 6  
Ответить с цитированием
ryudzaki

Регистрация: Jun 2009
Сообщений: 19
спасибо огромное, все работает как часы. Очень благодарен!!!
alexcon314, lexa2000lexa зачет вам !

Добавлено через 11 минут
Только одна проблема. Анимация внутри clip1, clip2 ... не проигрывается

Старый 26.08.2009, 12:54
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 7  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
На таймлайне клипов, которые аттачатся, есть stop()?.

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

Регистрация: Jun 2009
Сообщений: 19
Все! Разобрался, спасибо огромное.

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

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

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


 


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


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