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

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

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

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
Attention При вызове constructor() мы создаем новый экзампляр мувика

Здравствуйте!

кое-что странное появилось у меня в проекте!
На главной сцене лежит MovieClip с названием "ipod_mc". Написав следующий код на первом кадре, я вызвал какой-то странный класс "coverIPod_mc_1"!

Код:
var inst:MovieClip = new ipod_mc.constructor ( );
inst.x = inst.y = 100;
addChild ( inst );
trace ( inst.constructor ); // [class coverIPod_mc_1]
Неужеле я вызвал класс из библиотеки!

Вот Вам мой проект, объясните мне пожалуйста, только не кричите, я новый
Вложения
Тип файла: rar player.rar (81.3 Кб, 60 просмотров)
__________________
время никого не ждёт.

Старый 13.02.2008, 22:12
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
а как вы раньше создавали класс из библиотеки?

Старый 13.02.2008, 22:36
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 3  
Ответить с цитированием
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
BlooDHounD! Я не создавал. Он сам создается флеш-проигрывателем. Вопрос здесь как он создается и когда? Потому что я попробовал создать экзампляры для других символов в дрогом проекте, ничего не получилось! экзампляр создается только нашим знакомым классом MovieClip, а изображать его на сцене с помощью метода addChild НЕЛЬЗЯ!!!
__________________
время никого не ждёт.

Старый 14.02.2008, 00:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Для каждого кастомного клипа в CS3 создается класс.

Старый 14.02.2008, 00:34
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 5  
Ответить с цитированием
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
__etc! Спасибо за внимание. Обычно для символов, лежащих в библиотеке, создается MovieClip Class, а у меня - coverIPod_mc_1! Я Открыл новый проект, нарисовал квадрат на главной сцене и превратил его в MovieClip. Пытался создать от него экзампляр с помощью его конструктора, всё произошло успешно, он у меня уже создан, его класс - MovieClip. Но не мог отображать его на сцене, может потому что его класс является именно MovieClip'ом. В моем 1-ом вышеуказанном проекте я мог его отобразить на сцене. Меня удивляет почему во всех проектах экзампляры создаются классом MovieClip, а в этом - coverIPod_mc_1?
__________________
время никого не ждёт.

Старый 14.02.2008, 00:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну как минимум потому что вложенные клипы имеют имена.

Старый 14.02.2008, 01:16
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 7  
Ответить с цитированием
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
Всё.. Я понял в чём секрет, хотя об этом в хедпе не упомянули
Весь вопрос заключается в окне редактирования ActionScript
Если Вы хотите программировано создать экзампляры от Ваших любимых мувиков, лежащих в библиотеке, то свойство Linkage в CS3 Вам не поможет По крайне мере Вам поможет комментарий! смешно да? Сейчас посмотрим:
1. открываем новый проект.
2. Рисуем, например, квадрат.
3. превращаем нарисованный нами квадрат в MovieClip.
4. пищем в 1-ом кадре этого мувика ( квадрат ) любой комментарий ( или любой код, например, stop() ).
5. Возращаемя на нашу главную сцену.
6. Называем наш новый мувик "square_mc".
7. Пишем в 1-ом кадре главной сцене следующий код:
Код:
var _mc:MovieClip = new square_mc.constructor ( ); // Create instance of square_mc
addChild ( _mc );
trace ( square_mc.constructor ); // [class Symbol1_1] - У нас появился новый класс! ( спасибо флеш-плеер )

var _mc2:MovieClip = new Symbol1_1 ( );
_mc2.x = _mc2.y = 150;
addChild ( _mc2 )
Вот и всё
__________________
время никого не ждёт.


Последний раз редактировалось sultan_M; 14.02.2008 в 01:28.
Старый 14.02.2008, 01:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
«Спасибо» тут точно явно лишнее, из-за самодеятельности компилятора CS3 он попросту непригоден для использования.

Старый 14.02.2008, 01:52
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 9  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
а линкейдж вам чем не угодил?

Старый 14.02.2008, 02:14
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 10  
Ответить с цитированием
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
__etc! пригоден для сокращения кода:
Код:
// вместо
var _mc:MovieClip = new square_mc.constructor ( );

// пишем просто название символа в библиотеке + _1
// Новый класс уже в наших руках с того момента как
// притачили символ из библиотеки
var _mc:MovieClip = new Symbol1_1 ( )
BlooDHounD! Конечно угождает! Только здесь мы обошлись без него ( без класса ).

Хотя всё, что было указанно может Вам кажется мелочью, но может пригодиться когда-нибудь.

Желаю Вам удачи
__________________
время никого не ждёт.

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

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

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


 


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


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