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

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

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

Регистрация: Jun 2007
Сообщений: 374
По умолчанию создание представителей класса на сцене вручную

Всем привет.
Поискал по форуму, так и не нашел решения проблемы.
Которая заключается в следующем:

Я создал отдельный класс (допустим
Код:
class myClass extends MovieClip{
...
}
После этого хочу, чтобы некоторые мувики из библиотеки принадлежали этому классу. Для этого я выделяю клип в библиотеке мышой, жму linkage, далее export for action script и там пишу название класса. Однако возникает проблема, что нельзя нескольким мувикам присвоить один и тот же класс, возникает алерт:
.

Итак, каким образом можно создать "вручную" методом копирования из библиотеки мувиков, которые обладали бы свойствами моего класса?

Я понимаю, что можно создать мувик - контейнер (этого класса), внутрь которого уже динамически грузить все остальные. Однако тогда возникнет проблема с визуальным размещением объектов на сцене (там сложные векторные объекты).

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

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

Старый 09.06.2007, 00:47
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 3  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
И правда! Спасибо большущее. А я-то 1001 способ придумывал, как можно этот алерт обойти (включая использование прототипа класса MovieClip), а строки base-то и не заметил.
Проблема решена.

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

Регистрация: Feb 2002
Адрес: Moscow
Сообщений: 475
Отправить сообщение для Racer с помощью Skype™
Кошмар! Я разочарован....
__________________
Однозначно!

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

Регистрация: Sep 2002
Сообщений: 30,787
Чем, простите? Собственно, меня больше интересует, каким образом автор темы собирался создавать разные экземпляры класса с одним именем… Даже если логически рассуждать, то это невозможно.

Старый 13.06.2007, 14:40
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 6  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Цитата:
Сообщение от __etc
Чем, простите? Собственно, меня больше интересует, каким образом автор темы собирался создавать разные экземпляры класса с одним именем… Даже если логически рассуждать, то это невозможно.
экземпляры одного и того же класса (у которого одно имя)

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

Регистрация: Sep 2002
Сообщений: 30,787
Проблемя, понятное дело, решена, но я хотел описать, что же планировалось сделать в самом начале: задав одно и то же имя класса разным элементам в библиотеке, каким-то образом потом их создавать. Ну и откуда флешу знать, какой именно брать элемент из библиотеки брать?

Старый 15.06.2007, 00:53
Racer вне форума Посмотреть профиль Отправить личное сообщение для Racer Посетить домашнюю страницу Racer Найти все сообщения от Racer
  № 8  
Ответить с цитированием
Racer
 
Аватар для Racer

Регистрация: Feb 2002
Адрес: Moscow
Сообщений: 475
Отправить сообщение для Racer с помощью Skype™
2 __etc: Да не, всё путём. Меня ввело в заблуждение это "смещение" обозначений классов.
Вся эта игра с классами ничего хорошего не несет.
Как-то странно, когда одному объекту соответствуют два класса (Class и Base class). Не кажется ли, что тут какое-то нарушение принципов ООП?
Я даже не могу понять как это назвать... Вроде и не множественное наследование...
__________________
Однозначно!

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

Регистрация: Sep 2002
Сообщений: 30,787
Нет никакого нарушения. Это называется наследование.

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

Регистрация: Feb 2002
Адрес: Moscow
Сообщений: 475
Отправить сообщение для Racer с помощью Skype™
мда... чем дальше влез тем жирнее партизаны...

Всё ясно. Можно либо то либо это. Вместе нельзя.
Либо Class наследник Movieclip, либо Base Class наследник Movieclip... Вместе - ругается. А нафиг такой изврат? Почему нельзя как раньше юзать один класс тот что Base Class? Зачем еще добавили индивидуальный? Всёравнож дублировать.

Идея в принципе понята.... Но создается впечатление что чото перемудрили...
Подозреваю что это связано с новой структурой АС3.

Если задан Class, то инстанцируется то что в Class, а обязательно ли чтобы Class был потомком Base class?

А если задан Base class, то то что написано в Class игнорируется? или то что в Class автоматом является потомком от Base class и оно же инстанцируется?
__________________
Однозначно!


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

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

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


 


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


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