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

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

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

Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
По умолчанию Привязка символа из swc в FD

FD ver 3.2.2
Flash CS4

Есть fla в котором есть символы.Эти символы по Linkage привязаны к классам.
Один из символов связан с классом controlpanel.CP_cell что прописано в св-вах символа ,linkage, class
Во fla, в св-вах документа Class указывает на Main.as
В Main.as при инициализации стоит
Код AS3:
cp_cell_mc = new CP_cell();
stage.addChildAt(cp_cell_mc, 1);
Компилирую через flash ide
Все работает, изображение для класса CP_cell появляется и код класса работает.
Далее выделяю в библиотеке символ CP_cell,по правой мыши делаю экспорт в cpcell_lib.swc.
Этот swc добавляю в папку lib для FD.На этом файле ставлю галочку Add To Library.
Компилирую проект в FD, ошибок нет, но и символ CP_cell не появляется на сцене !
Пробую в классе CP_cell
Код AS3:
[Embed(source='../cpcell_lib.swc', symbol='controlpanel.CP_cell')]
 public function  CP_cell() {		
	//.....
 }
А так нельзя, пишет:
\CP_cell.as(29): col: 1: Error: Embed is only supported on classes and member variables.
Убираю эмбедед, компилирует без ошибок, но символ не отображается!!!
В чем проблема?Как привязать символ из swc к классу?

Старый 09.08.2010, 20:22
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Если вы его уже скомпилировали, то зачем вы пытаетесь его еще раз перелинковать? В сообщении однозначно сказано, что [embed] нельзя использовать с функциями - я вообще не понимаю, что этой структурой вы хотели сделать...

ЗЫ. За подчерки в названиях, так как вы их понараставляли, как правило хочется сделать автору что-то плохое. Вы где-нибудь видели в флешевых классах хоть один подчерк?
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 09.08.2010 в 20:25.
Старый 10.08.2010, 12:41
Anddrey вне форума Посмотреть профиль Отправить личное сообщение для Anddrey Найти все сообщения от Anddrey
  № 3  
Ответить с цитированием
Anddrey

Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
Опять по сути ответа нет.
Почему уважаемый "wvxvw" так и хочет сделать автору что-то плохое,а по сути помочь не хочет? Я понимаю если человек может что то по сути вопроса ответить он поможет обязательно.А если хочется показать свое превосходство или незнание,то обязательно "сьезжает с темы вопроса". В данном контексте абсолютно неважно есть ли подчерки в классах или нет,важно что символ из swc не связывается с классом.Почему - непонятно.Если кто сталкивался,как лечили?

Старый 10.08.2010, 13:02
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 4  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Anddrey, ошибаетесь, wvxvw очень добрый и обычно разжевывает все до нельзя.

У вас
Код AS3:
public function  CP_cell() {
- это конструктор что ли? Никаких embed не надо. Залинкуйте в библиотеке какой нибудь символ(CP_cellSWC) и наследуйте от него.
Код AS3:
public class CP_cell extends CP_cellSWC {
...
//а потом уже
var cp_cell_mc:CP_cell = new CP_cell();
stage.addChildAt(cp_cell_mc, 1);

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

Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
Так, это уже по делу совет.
Да, именно конструктор надо связать.Я знаю что embed привязывается внутри класса, а как сам класс связать?
Пробую.Расширяю конструктор, получаю...

col: 15 Error: Circular type reference was detected in CP_cell.

У меня в swc имеет название symbol='controlpanel.CP_cell'

[

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от Anddrey Посмотреть сообщение
У меня в swc имеет название symbol='controlpanel.CP_cell'
Точку уберите и покажи код класса CP_cell. Должно быть что то вроде:
Код AS3:
package  
{
	public class CP_cell extends controlpanelCP_cell
	{
	//...
	}
}

Старый 10.08.2010, 13:39
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 7  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Расширяю конструктор...
Что, что, простите?

Вероято вам нужно что-то наподобие этого:
Код AS3:
package
{
	import flash.display.Sprite;
 
	[Embed(source="library.swf", symbol="Star")]
	public class Star extends Sprite
	{
		public function Star()
		{
		}
	}
}

Старый 10.08.2010, 13:49
Anddrey вне форума Посмотреть профиль Отправить личное сообщение для Anddrey Найти все сообщения от Anddrey
  № 8  
Ответить с цитированием
Anddrey

Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
Да, только не swf а из swc

Старый 10.08.2010, 13:51
Anddrey вне форума Посмотреть профиль Отправить личное сообщение для Anddrey Найти все сообщения от Anddrey
  № 9  
Ответить с цитированием
Anddrey

Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
Вот скрины, последовательность действий, где тут ошибка?
Вложения
Тип файла: zip img_how_done.zip (120.7 Кб, 99 просмотров)

Старый 10.08.2010, 14:26
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 10  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Да, только не swf а из swc
Тогда так:
Код AS3:
package
{
	import flash.display.Sprite;
 
	[Embed(source="library.swc", symbol="Star")]
	public class Star extends Sprite
	{
		public function Star()
		{
		}
	}
}
Вы что вообще хотите то? Добавить на сцену из SWC символ "CP_cell"? Если так, то напишите
Код AS3:
addChild( new CP_cell() );
А вообще, дали бы вы нормальные имена классам и символам, а то там путаница. В одном месте класс CPcell, потом класс CP_cell расширенный от CPcell. Имя у символа тоже CP_cell, но вот на скрине внутренностей swc, там почему то видно что в ней и символ и класс с именем "CPcell". А куда же пропал симвом с linkage'м и именем "CP_cell"??
Вы уж определитесь что внутри swc должно быть. И имена символов тогда начинайте с маленькой буквы, а не с большой, чтобы можно было понять класс это или экземпляр класса.


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

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

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


 


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


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