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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Apr 2010
Сообщений: 1
По умолчанию Рекомпиляция SWC с базовыми классами в AS

Есть следующая проблема:
Создаем SWC из Flash IDE (AS3)(CS3/CS4) с одним объектом на экспорт, условно - MyButton (внутри, предположим, графика для кнопки длинной в один фрейм)
В свойствах Export for actionscript для MyButton указываем
Class: MyPackage.swcMyButton
Base class: MyPackage.MyButton

В директории MyPackage лежит MyButton.as с кодом класса.
Код AS3:
package MyPackage
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
 
	public class LinkButton extends MovieClip
	{
		public function LinkButton()
		{
			super();
 
			mouseChildren = false;
			buttonMode = true;
 
			addEventListener(MouseEvent.CLICK, clickHandler);
		}
 
		private function clickHandler(e: MouseEvent):void {
			trace('Clicked');
		}
	}
}
Теперь создаем AS3 проект во Flash Develop и подключаем (Add to library) наш swc с кнопкой
В Main.as пишем
Код AS3:
var btn:swcMyButton = new swcMyButton();
addChild(btn);
Запускаем в debug. Открывается флешка с нашей кнопкой, жмем на кнопку, получаем trace Clicked в консоль.

Открываем MyPackage\MyButton.as во FlashDevelop, удаляем
Код AS3:
trace('Clicked');
Запускаем в debug. Жмем кнопку, trace Clicked не появляется.

Т.е. swcMyButton изменился вместе с базовым MyButton БЕЗ рекомпиляции SWC во Flash IDE.

Опять добавляем в MyButton trace('Clicked') и build-им SWC через Flash IDE.

Теперь создаем AS3 Project во Flex Builder 3 (Flash Builder 4).
Добавляем наш SWC в свойствах проекта.
В Main.as пишем тоже самое, что и в Flash Develop.
Код AS3:
var btn:swcMyButton = new swcMyButton();
addChild(btn);
Запускаем проект. Кликаем на кнопку - Clicked в консоли.
Теперь через Flex Builder убираем trace.
Запускаем проект. Кликаем на кнопку - Clicked в консоли.

Т.е. базовый класс при компиляции через Flex Builder не повлиял на swcMyButton.

Очень хочется настроить Flex Builder 3 (Flash Builder 4), что бы он так же подключал базовые классы к swc.

Workaround: если во Flex Builder очистить проекты (Project -> Clean...), то trace пропадет, но делать это каждый раз при компиляции большого проекта - геморой.

Есть идеи?

Старый 24.07.2010, 19:40
Dragon rideR вне форума Посмотреть профиль Отправить личное сообщение для Dragon rideR Найти все сообщения от Dragon rideR
  № 2  
Ответить с цитированием
Dragon rideR
 
Аватар для Dragon rideR

Регистрация: Jan 2007
Сообщений: 368
Автор нашел выход? А то тот же вопрос интересует

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

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

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


 


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


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