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

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

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

Регистрация: Mar 2006
Адрес: Barnaul
Сообщений: 7
Отправить сообщение для yura0585 с помощью Yahoo
Question Динамическое создание копии movieClip'а?

Сиутация:
Мне необходимо сделать, чтобы через определенные промежутки времени
создавалась копия одного из movieClip'ов (у меня их много), причем копий одного и того же объекта может быть много.
-------------
Использовал duplicateMovieClip - метод класса MovieClip
Но с ним проблема, что когда создается новая копия, то предыдущая удаляется.

Использовал attachMovie, но здесь вообще все плохо, он не отображает созданный мною объект.

Привожу небольшой кусок кода:
Код:
function SelectObj(window)
{
	var i = random(_global.NumObjects);
	var name1 = _global.allObjects[i]._name + _global.index;
	_global.allObjects[i].duplicateMovieClip(name1, 0);
//	attachMovie(_global.allObjects[i]._name, name1, 0);
	_global.object[window] = name1;
	_global.index++;
	return i;
}
Я слабо сказать начинающий флэшер, поэтому строго не судите, лучше помогите
Заранее спасибо

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

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
Предыдушая удаляется, потому что ты не меняешь уровень дупликации:
Код:
_global.allObjects[i].duplicateMovieClip(name1, 0);
надо: _global.allObjects[i].duplicateMovieClip(name1, this.getNextHighestDepth());

Старый 28.03.2006, 10:25
yura0585 вне форума Посмотреть профиль Отправить личное сообщение для yura0585 Найти все сообщения от yura0585
  № 3  
Ответить с цитированием
yura0585

Регистрация: Mar 2006
Адрес: Barnaul
Сообщений: 7
Отправить сообщение для yura0585 с помощью Yahoo
Большое спасибо Futs.
А уровень дупликации - это уровень слоя и почему каждый раз он должен быть выше предыдущего?

И еще вопрос, removeMovieClip(_global.object[i]). Она удаляет объект, т.е.
освобождает выделенную под него память и все ресурсы. Я к тому, что должна ли она стирать объект с экрана при удалении или я должен сам скажем устанавливать свойство _visible (как сделано у меня на данный момент).

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

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
Если делать мувик _visible=false флеш все равно его видит и тратит на него ресурсы, поэтому если он тебе не нужен, то лучше его удалять.
И вместо removeMovieClip(_global.object[i]) писать _global.object[i].removeMovieClip(). Уже не помню, но столкнулся с граблями в версии плеера (не помню какой), не удалялся, или как-то что-то....

Старый 28.03.2006, 22:57
yura0585 вне форума Посмотреть профиль Отправить личное сообщение для yura0585 Найти все сообщения от yura0585
  № 5  
Ответить с цитированием
yura0585

Регистрация: Mar 2006
Адрес: Barnaul
Сообщений: 7
Отправить сообщение для yura0585 с помощью Yahoo
Я так не могу написать, т.к. _global.object[i] - это строка, а не MovieClip.
Наверное поэтому копия movieClip'а не удаляется.
Вообще, если честно я не понимаю при использовании duplicateM... в параметрах я указываю строковое значение (новое имя). Т.е. это его имя как объекта (как у кнопки - имя копии) или это его label (опять же как у кнопки).
Если это его label, то тогда какое его имя или как обратится к его свойствам, методам непосредственно, т.е. не используя, скажем, setProprty.

Или я вообще ерунду говорю.

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

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

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


 


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


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