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

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

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

Регистрация: Sep 2001
Адрес: Баку
Сообщений: 11
По умолчанию attachMovie, доступ к методам клипа

В библиотеке клип bar (linkage есть, id=bar есть). На первом фрейме клипа прописаны методы. Приаттачиваю к главному клипу:
_root.attachMovie("bar", "bar", 1);

Вызываю методы из первого фрейма клипа, например:

_root.bar.traceMsg();

результат - нуль.

Всем спасибо заранее, даже, если пошлете в... документацию

Старый 03.02.2004, 11:20
Cvazimodo вне форума Посмотреть профиль Отправить личное сообщение для Cvazimodo Найти все сообщения от Cvazimodo
  № 2  
Cvazimodo
[+1 10.07.06]

Регистрация: Jan 2003
Сообщений: 365
_root.attachMovie("bar", "bar", 1);

_root.bar.onEnterFrame = function() {
trace('1');
}


Попробуй так.

Старый 03.02.2004, 12:45
Eldar вне форума Посмотреть профиль Отправить личное сообщение для Eldar Найти все сообщения от Eldar
  № 3  
Eldar

Регистрация: Sep 2001
Адрес: Баку
Сообщений: 11
Цитата:
Оригинал написал(а) Cvazimodo
_root.attachMovie("bar", "bar", 1);

_root.bar.onEnterFrame = function() {
trace('1');
}


Попробуй так.
Так работает, я это знаю. Дело не в этом. Просто у меня таких клипов будет несколько и создаваться они будут динамически, причем выглядеть и отрабатывать будут в зависимости от того, какие параметры я буду передавать из головного клипа.

Конечно, можно было решить проблему так:
for(i=0; i<some_var; i++)
{
_root.attachMovie("bar", "bar" + i, 1);

_root["bar"+i].onEnterFrame = function()
{
trace('1');
}
и т.д.
}

но тогда возникнет проблема с передачей параметров каждому созданному клипу. В руте придется создавать массив с параметрами и выбирать их в цикле по i. А если несколько параметров? - Несколько массивов!!! И т.д.

Просто хотелось создать в подклипе методы и переменные и передавать напрямую после attach.

Есть еще мысли?

Старый 03.02.2004, 13:08
Cvazimodo вне форума Посмотреть профиль Отправить личное сообщение для Cvazimodo Найти все сообщения от Cvazimodo
  № 4  
Cvazimodo
[+1 10.07.06]

Регистрация: Jan 2003
Сообщений: 365
Может я всё-таки чего-то непонимаю?

for (i=0; i<10; i++) {
_root.attachMovie("bar", "bar" add i, i);

// создаём переменную
_root["bar" add i].myVar = 'Моя переменная ' add i;

_root["bar" add i].onEnterFrame = function() {
trace(this.myVar);
}

}

Старый 03.02.2004, 13:52
Eldar вне форума Посмотреть профиль Отправить личное сообщение для Eldar Найти все сообщения от Eldar
  № 5  
Eldar

Регистрация: Sep 2001
Адрес: Баку
Сообщений: 11
Цитата:
Оригинал написал(а) Cvazimodo
Может я всё-таки чего-то непонимаю?

for (i=0; i<10; i++) {
_root.attachMovie("bar", "bar" add i, i);

// создаём переменную
_root["bar" add i].myVar = 'Моя переменная ' add i;

_root["bar" add i].onEnterFrame = function() {
trace(this.myVar);
}

}
Ну не все так просто. Суть такова, я создаю кнопки для коллекций, вернее клип кнопки, в которой есть текст и графический элемент. После этого создаю ряд этих кнопок динамически, причем текст для кнопки передается рутом после создания экземпляра. Так вот, все это было прописано в клипе. Т.е. все было распихано по методам, создание текстФилда, переменные для этого текста и т.д., должны были быть еще несколько методов и свойст (потом). Что я хотел, просто аттачить их и потом выполнять действия, присущие им, обращаясь простым вызовом типа _root.someClip.someMethod(param_01, param_02, ....).

В двух словах, все вроде классов - создал класс, наклепал экземпляры, обратился к методам, все...

А вообще в принципе, почему не работает обращение к методам, если клип приаттачен. Вот мы и замкнули круг Извини, если долго петлял

Старый 04.02.2004, 22:34
_1_Maxim вне форума Посмотреть профиль Отправить личное сообщение для _1_Maxim Найти все сообщения от _1_Maxim
  № 6  
_1_Maxim

Регистрация: Sep 2003
Адрес: Казахстан
Сообщений: 144
Я с этим сталкивался.
Это из-за недоделанности Flash.
Методы, который ты определил в первом фрейме мувика, можно использовать только в следующих (после attachMovie ) фреймах _root(или другом месте). Я с этим уже сталкивался. Я тебя понимаю. Ты хочеш из первого фрейма мувика сделать файл (заголовок и инициализация). Это оперативно и удобно, но зачем убивать целый фрейм на описание? Лучще поставь FlashMX2004. Там это всё делается в отдельном файле.

Старый 05.02.2004, 13:10
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) _1_Maxim
Это из-за недоделанности Flash.
Методы, который ты определил в первом фрейме мувика, можно использовать только в следующих (после attachMovie ) фреймах _root(или другом месте).
нет уж, вот это как раз - из-за общей логики работы флэша :)
чтобы выполнился код первого кадра, он должен проиграться. а проиграться он может только при следующей смене кадра, после вызова аттачМуви. если бы было наоборот - то не было бы возможности сразу после аттача передать клипу какие-то параметры еще ДО проигрывания его первого кадра.. в пятерке с этим реальная заморочка была

Старый 05.02.2004, 14:07
_1_Maxim вне форума Посмотреть профиль Отправить личное сообщение для _1_Maxim Найти все сообщения от _1_Maxim
  № 8  
_1_Maxim

Регистрация: Sep 2003
Адрес: Казахстан
Сообщений: 144
Да. Ты прав. Дело в недоделанности логики.

Вранних версиях коды связанны с фреймами(временем).
Да здравствует FlashMX2004!

Старый 05.02.2004, 14:34
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 9  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) _1_Maxim
Да. Ты прав. Дело в недоделанности логики.
код в такой среде не может не быть связан с фреймами, иначе пришлось бы городить большой огород ради синхронизации... а без покадровой синхронизации кода и анимации флэш был бы вообще непонятно чем :)

в шестерке с логикой работы с фреймами и соотнесением по времени всяких действий - уже все пучком... в шестерке и в семерке эту логику наконец привели в соответствие с самой собой :)

а в пятерке были грабли страшные, это да. я уже боюсь вспомнить что было в четверке :))


Последний раз редактировалось Nox Noctis; 05.02.2004 в 14:38.
Старый 05.02.2004, 15:46
Eldar вне форума Посмотреть профиль Отправить личное сообщение для Eldar Найти все сообщения от Eldar
  № 10  
Eldar

Регистрация: Sep 2001
Адрес: Баку
Сообщений: 11
Цитата:
Оригинал написал(а) Nox Noctis
нет уж, вот это как раз - из-за общей логики работы флэша
чтобы выполнился код первого кадра, он должен проиграться. а проиграться он может только при следующей смене кадра, после вызова аттачМуви. если бы было наоборот - то не было бы возможности сразу после аттача передать клипу какие-то параметры еще ДО проигрывания его первого кадра.. в пятерке с этим реальная заморочка была
Круто, я понял, хотя поначалу, когда читал, чувствовал себя примерно так: "никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть."
Тогда, если я проинициализирую клип в первом кадре _root, то я могу использовать его встроенные метода в последующих кадрах _root? Я правильно тебя понял?

Цитата:
Оригинал написал(а) Nox Noctis

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

в шестерке с логикой работы с фреймами и соотнесением по времени всяких действий - уже все пучком... в шестерке и в семерке эту логику наконец привели в соответствие с самой собой

а в пятерке были грабли страшные, это да. я уже боюсь вспомнить что было в четверке )
О какой среде ты говоришь? И что значит вынос в отдельный файл? Я не пользовался 2004-ым.

Заранее спасибо

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

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

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


 


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


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