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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.11.2006, 16:10
diezel555 вне форума Посмотреть профиль Отправить личное сообщение для diezel555 Найти все сообщения от diezel555
  № 1  
Ответить с цитированием
diezel555
[4 02.05.06]

Регистрация: Apr 2006
Сообщений: 38
The bomb! Мувик в контейнере

Проблем:не могу 1-сделать экземпляры мувиков. 2 - раскидать в контейнере на разную глубину
Код:
this.createEmptyMovieClip("my_mc",0);
var mcl:MovieClipLoader = new MovieClipLoader();
for(i=0;i<=10;i++){
	my_mc.createEmptyMovieClip("container_mc", this.getNextHighestDepth());
	mcl.loadClip("pics/"+i+".jpg", my_mc.container_mc);
	my_mc.container_mc._x=(i%10)*200;
	my_mc.container_mc._y=Math.round(i/10)*200;
	my_mc.onPress = function():Void 
{trace("It works");}
}
Результат:1 выдает только последний мувик (как кнопку) 2 _x и _y не видит... Чо делать?

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

Регистрация: Nov 2006
Сообщений: 113
Единственное, на что обращается внимание - это распределение глубин. Меня тоже интересует - в такой записи this - это my_mc или _parent.my_mc. Если второй вариант - то но просто все мувики на одну глубину создает, поэтому остается только последний.

Старый 16.11.2006, 17:56
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 3  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
this в данном случае указывает на _root. Работает этот код так: при создании пустого мувика проверяется свободная глубина на _root. Т.к. на руте создавался только my_mc то следующая свободная глубина 1. Берется эта глубина, на ней уже в my_mc создается новый пустой мувик. В следующий проход все повторяется: опять проверяется _root, свободная глубина та же, так как на _root ничего нового не создавалось, и опять в my_mc на глубине 1 создается пустой мувик. Так он стирает предыдущий, созданный в my_mc на той же глубине.
К тому же, в my_mc создается пять пустых мувиков с одинаковыми именами. Если вы создаете одинаковые мувики с одинаковыми именами - флэш поступает очень просто - он не создает новые мувики. Кроме того, метод loadClip() загружает все картинки в один клип.


Последний раз редактировалось pkfun; 16.11.2006 в 18:46.
Старый 17.11.2006, 10:59
diezel555 вне форума Посмотреть профиль Отправить личное сообщение для diezel555 Найти все сообщения от diezel555
  № 4  
Ответить с цитированием
diezel555
[4 02.05.06]

Регистрация: Apr 2006
Сообщений: 38
браты - спасибо за нотации - всё вышеуказанное я и сам понял. Лучче помогите кодом - 1 - как в цикле распределить на разную глубину и 2 -задать уникальные имена. И 3 - самое прикольное: присвоить мувикам свойства кнопки mc.onRelease()... Верю в Вашу отзывчивость и понимание трудностей начинающего флешера

Старый 17.11.2006, 12:12
diezel555 вне форума Посмотреть профиль Отправить личное сообщение для diezel555 Найти все сообщения от diezel555
  № 5  
Ответить с цитированием
diezel555
[4 02.05.06]

Регистрация: Apr 2006
Сообщений: 38
Цитата:
Сообщение от pkfun
Кроме того, метод loadClip() загружает все картинки в один клип.
а какой тада метод использовать?

Старый 17.11.2006, 14:16
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 6  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
pr003.rar
Вот, пожалуйста, пример.

Код:
var mn:MovieClip = this;
var mc_main = mn.createEmptyMovieClip('my_mc', mn.getNextHighestDepth());
var mc_par:MovieClip;
var mc_par_podl:MovieClip;
var mc_par_pic:MovieClip;
//
var mcl:MovieClipLoader = new MovieClipLoader();
for (i=1; i<=5; i++) {
	mc_par = mc_main.createEmptyMovieClip("container_mc"+i, mc_main.getNextHighestDepth());
	mc_par_podl = mc_par.attachMovie('podl', 'podl'+i, mc_par.getNextHighestDepth(), {_alpha:50});
	mc_par_pic = mc_par.createEmptyMovieClip('pic', mc_par.getNextHighestDepth());
	mcl.loadClip("pics/tn"+i+".jpg", mc_par_pic);
	mc_par._x = i*70;
	mc_par._y = 1;
	mc_par_podl.onPress = function():Void  {
		trace("It works - "+this._parent);
	};
}
Немного поясню как работает:
На сцене создается мувик my_mc. Это основной мувик, в который будет производиться вся загрузка. В коде ссылка на него сохранена в переменной mc_main.
Далее, внутри my_mc, по циклу, создается мувиклип в который будет загружена картинка - container_mc №n. Ссылка на него сохранена в переменной mc_par. Внутри сontainer_mc №n создаются два мувиклипа:
- пустой мувиклип pic. В него будет происходить загрузка картинки. Ссылка на него сохранена в переменной mc_par_pic.
- мувиклип из библиотеки podl - он нужен для того чтобы картинка реагировала мышку. Дело в том, что картинка, загружаемая в клип, сама по себе не является мувиклипом и соответственно не может откликаться на события мувиклипа, в том числе на событие onPress. Пустой мувиклип в который эта картинка загрузится, так же не будет реагировать на события мышки, как будто он все еще остается пустым. Поэтому нужен стороний мувик, который выполнит эту функцию. Вам нужно самостоятельно изготовить такой мувиклип, он должен(хотя не обязательно ) совпадать по размерам с картинкой. В примере, я сделал такой мувиклип немного больше картинки. Ссылка на него сохранена в переменной mc_par_podl.

Код:
mc_par_podl.onPress = function():Void  {
		trace("It works - "+this._parent);
	};
Здесь задается реакция на событие onPress. Обратите внимание, что обращение к конкретному мувику-подложке, по окончании цикла, нужно производить через this. this будет указывать на конкретный мувик-подложку. Обращение к относительным мувиклипам осуществляйте с помощью _parent.

Старый 18.11.2006, 15:35
diezel555 вне форума Посмотреть профиль Отправить личное сообщение для diezel555 Найти все сообщения от diezel555
  № 7  
Ответить с цитированием
diezel555
[4 02.05.06]

Регистрация: Apr 2006
Сообщений: 38
pkfun спасибо за помощь и удачи в работе и жизни!!!

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

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

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


 


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


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