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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Mar 2002
Адрес: Челябинск
Сообщений: 6
Отправить сообщение для znick с помощью AIM
По умолчанию ООП (Методы программно созданных клипов)

Осваиваю ООП во Flash. Есть постоянная проблемма.

Допустим сделал клип, в его первом кадре создал свои свойства (т.е. var имя_свойства), свои методы (function имя_метода {...}), которые управляют поведением клипа (свойства _x, _y и т.д.) и его данными. Т.е. создал свой объект-клип (дальше [child]). [Как написано в прилагаемой к FLASH 5 документации - клип то же объект.]
Теперь из клипа-родителя[parent] с помощью duplicateMovieClip наплодил несколько дочерних клипов, таких же как child:
for(i=1; i<кол-во_нужных_клипов; i++) {
оригинал.duplicateMovieClip("копия"+i,i);
}
И по идее хотелось бы вызывать методы всех этих размноженных клипов и использовать их свойства (те которые сам создал).
Свойства то работают, работают так же и методы оригинала, т.е. клипа который был расположен на сцене в ручную. Но методы программно созданных клипов даже не вызываются.
Конечно можно писать методы в клипе родителе (parent) с параметром, который передает нужный дочерний, объект клип, но код получается запутанным и теряется смысл ООП.
Может есть у кого-нибудь есть простенький работающий пример, использования методов, программно размноженных объектов-клипов? Вышлите пожалуйста.
Заранее благодарен.
__________________
Зеленков Н.П.

Старый 02.04.2002, 20:11
Aib вне форума Посмотреть профиль Отправить личное сообщение для Aib Посетить домашнюю страницу Aib Найти все сообщения от Aib
  № 2  
Aib

Регистрация: Oct 2001
Адрес: Россия, Казань
Сообщений: 270
Ты что сделать-то хочешь?
Если методы клипов переопределить, то это impossible.
__________________
The war does not determine who is right. Only who is left.

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

Регистрация: Mar 2002
Адрес: Челябинск
Сообщений: 6
Отправить сообщение для znick с помощью AIM
Конечная цель такова: управление клипом не набором свойств:

имя_клипа._visible=...;
имя_клипа._rotation=...;
имя_клипа.свое_свойство0=...;
имя_клипа.свое_свойство1=...;
...

а просто написать метод, что бы контролировать клип конструкцией вида:

имя_клипа.имя_метода(список параметров);


К примеру эффект фейерверка(Как то делал на C++/OpenGL).
сейчас хочу реализовать во флэше.

Изначально на сцене лежит только один клип "firework".
Просто какой нибудь кружочек с радиальной заливкой или что то вроде звездочки.
В нем определен метод "start" для запуска по направлению, скорости, цвету времени до взрыва и др.
Так же есть методы для расчета шага полета, взрыва и др.
После вызова метода "start" клип полетел в зависимости от параметров.
В момент взрыва нужно вызвать метод "explosion", который размножит клип "firework" и запустит каждый экземпляр в случайном направлении (вызовет метод "start", для каждого из них).

И если все делать в этом порядке, то получится так:
"firework" полетит, но после взрыва, размноженные клипы останутся на месте(т.к. не сработают методы "start").

Эффект я конечно сделал(у меня zipа нет, просто переименуй файл в swf). Но попробовав быстро адаптировать его в другой проект столкнулся с трудностями.
Вложения
Тип файла: zip firework.zip (6.3 Кб, 76 просмотров)
__________________
Зеленков Н.П.

Старый 03.04.2002, 00:46
сочиNetz вне форума Посмотреть профиль Отправить личное сообщение для сочиNetz Посетить домашнюю страницу сочиNetz Найти все сообщения от сочиNetz
  № 4  
сочиNetz

Регистрация: Apr 2000
Адрес: Москва
Сообщений: 945
Отправить сообщение для сочиNetz с помощью ICQ
2Aib
А если я переопределю, что мне за это будет?

Щас придет john, вам такого расскажет
__________________
Фоторобот UltimateFlashFace: http://flashface.ctapt.de, Большой респект Артему Мельникову!

Старый 03.04.2002, 14:54
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 5  
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
2Aib

Да, на твоем месте я бы поостерегся произносить такое вслух, да еще и громко...

2znick

Создаешь массив со своими клипами
Код:
 clipStock = new Array();

 for (var i = 0; i < _max; i++) {
  yourClip.duplicateMovieClip("newName" + i, i);
  clipStock.push(this["newName" + i]);
 }
после чего обращаешься к клипам через

clipStock[_index].method_name(arguments);
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 03.04.2002, 15:04
RFMitrio вне форума Посмотреть профиль Отправить личное сообщение для RFMitrio Посетить домашнюю страницу RFMitrio Найти все сообщения от RFMitrio
  № 6  
RFMitrio
 
Аватар для RFMitrio

Регистрация: Aug 2001
Адрес: город на Неве
Сообщений: 1,908
Отправить сообщение для RFMitrio с помощью ICQ
Пишешь где угодно:
movieClip.prototype.Method=function(параметры)
{
суть метода.
}
И вызывай потом этот метод откуда угодно, поскольку метод теперь добавился к прототипу объекта мувиклип!
__________________
suum quique

Старый 03.04.2002, 16:07
RFMitrio вне форума Посмотреть профиль Отправить личное сообщение для RFMitrio Посетить домашнюю страницу RFMitrio Найти все сообщения от RFMitrio
  № 7  
RFMitrio
 
Аватар для RFMitrio

Регистрация: Aug 2001
Адрес: город на Неве
Сообщений: 1,908
Отправить сообщение для RFMitrio с помощью ICQ
Некоторое уточнение: прототип надо изменить ДО использования нового метода в соответствии с порядком загрузки мувика ( например, если грузятся сначала верхние слои, а потом нижние - надо прототип изменять в высшем слое по отношению к слою с использованием метода )
__________________
suum quique

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

Регистрация: Oct 2001
Адрес: Россия, Казань
Сообщений: 270
Ну, не знаю. Я, помниться, когда совершал подобное, ошибки не выдавались, просто всё вешалось и дело с концом. Я не спорю, может у Меня тогда просто что-то другое глючило...
Публичное сорри, больше не буду.
__________________
The war does not determine who is right. Only who is left.

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

Регистрация: Mar 2002
Адрес: Челябинск
Сообщений: 6
Отправить сообщение для znick с помощью AIM
По умолчанию На счет порядка загрузки мувика

После компиляции в SWF нет информации о слоях.
Откуда сведения о порядке загрузке?
__________________
Зеленков Н.П.

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

Регистрация: Aug 2001
Адрес: город на Неве
Сообщений: 1,908
Отправить сообщение для RFMitrio с помощью ICQ
Смотри паблиш сеттингс. там можно устанавливать порядок загрузки ( лоад ордер: боттом ап и топ даун ).
__________________
suum quique

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

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

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


 


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


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