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

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

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
По умолчанию Проблемы с созданием компонента

Нарисовал квадрат, сконвертил в мувик. Сделал класс-пустышку. Мувик связал с классом. Хочу сделать из него компонент. Right-click -> component definition. Прописываю тот же класс и определяю параметры. Жму ок. Выделяю инстанс - в параметрах пусто. Лезу снова в определение компонента - там тоже в параметрах пусто, но все галки которые я ставил и имя класса остаются.

Что я делаю не так?
__________________
тонкий тролль, осеянный благодатью

Старый 28.03.2008, 15:28
ulik вне форума Посмотреть профиль Отправить личное сообщение для ulik Посетить домашнюю страницу ulik Найти все сообщения от ulik
  № 2  
Ответить с цитированием
ulik
 
Аватар для ulik

Регистрация: Apr 2007
Адрес: Moscow city
Сообщений: 286
Отправить сообщение для ulik с помощью ICQ
В CS3 (as3) компоненты делаются двумя способами:
1. SWC-компоненты - делаются точно так же как и в as2, без изменений.
2. Fla-компоненты: http://www.flashbrighton.org/wordpress/?p=31
__________________
Дизайн, как презерватив - каждому жмет по-своему © Я
мое: блог форум

Старый 30.03.2008, 21:52
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 3  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Хороший тутор. Но хотелось бы сделать компонент, не наследуясь от UIComponent. Есть что-нибудь на эту тему? В мануалах адоба этот момент так вскользь описан, мол можно, но как - не сказано...
И где можно поподробнее почитать про swc?
__________________
тонкий тролль, осеянный благодатью

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

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Всё правильно, никакой особой разницы между SWC и FLA AS3-компонентами нет, просто элементы первого нельзя будет редактировать из среды. Параметры не появятся в панели, пока их названия не будут совпадать с метатэгами inspectable в классе компонента:
Код:
	[Inspectable(defaultValue="")]
	public function set content(s:String) {
		_content = s;
	}
	public function get content():String {
		_content;
	}
Если не хотите наследоваться от UIComponent, не проблема: можно наследоваться от Sprite/MovieClip, и не забудьте реализовать setSize() метод.

Поставьте себе обновление 9.0.3 для Flash CS3 (бесплатно) - там полно информации про создание компонент.
__________________
Верить никому нельзя. Мне - можно. :)

Старый 31.03.2008, 07:40
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 5  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Спасибо, продираемся дальше Непонятки возникли по поводу дефолтных значений параметров. Обратимся к коду:

Код:
package{

	import flash.display.MovieClip;
	
	import flash.events.Event;

	public class Emitter extends MovieClip{
	
		private var _test:String;
		
		///////////////////////////////////////////////////////////////////////////////////////
		
		[Inspectable(name="Test", type="String", defaultValue="My default value")]
		
		public function get test():String{
			trace('get');
			return this._test;
		}//get test
		
		public function set test(value:String){
			trace('set');
			return this._test=value;
		}//get test
		
		///////////////////////////////////////////////////////////////////////////////////////
		
		//constructor
		public function Emitter(){
			trace(this._test);  //Всегда null
			this.addEventListener(Event.ENTER_FRAME, this.hookAccessibility, false, 0, true);
		}//constructor
		
		///////////////////////////////////////////////////////////////////////////////////////
		///////////////////////////////////////////////////////////////////////////////////////
		
		private function hookAccessibility(e:Event){
			this.removeEventListener(Event.ENTER_FRAME, this.hookAccessibility);
			this.init();
		}//hookAccessibility
		
		///////////////////////////////////////////////////////////////////////////////////////
		
		private function init():void{
			trace(this._test);
		}//init
		
		///////////////////////////////////////////////////////////////////////////////////////
	
	}//end of Emitter
	
}//package
В тэге задано дефолтное значение. Если компонент тупо вытащить на сцену и ничего не менять, то выделенный белым трейс покажет null, хотя по логике должен вывести значение, заданное как defaultValue.
Если же на панели параметров задать значение, отличающееся от дефолтного, то всё норм.
Как сделать чтобы нормально подставлялось значение по умолчанию? Дублировать его в теге и ещё где-то в конструкторе не предлагать.

По поводу наследования от спрайта: какие ещё методы нужно реализовать и где вообще можно найти их список или интерфейс который должен реализовывать компонент?
__________________
тонкий тролль, осеянный благодатью

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

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
http://www.google.ru/search?q=creating+components+AS3

Старый 31.03.2008, 17:12
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 7  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
The class should extend fl.core.UIComponent
The class should extend fl.core.UIComponent
The class should extend fl.core.UIComponent

Это в лучшем случае. Я создал тему не потому, что мне лень гуглить, а потому что уже неделю не могу найти ничего вразумительного.
__________________
тонкий тролль, осеянный благодатью

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

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
второй линк в в том месте где Вы умеете гуглить ведёт на мануал от адобы, к которому прилагаются 9 здоровенных ПДФников, в которых всё подробно расписано. чё ещё нужно?

Старый 31.03.2008, 20:20
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 9  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Перечитайте мой второй пост в этой теме. В мануалах адоба нет того, что мне нужно.
__________________
тонкий тролль, осеянный благодатью

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

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
перечитал. и что я должен понять? если вы хотите, что бы я сказал Вам, что если нажать правой кнопкой на мувиклип, там есть пункт "Component Definition", то так и скажите. я лично не понимаю, в чём проблема сделать свой компонент. в хелпе всё подробно описано.

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

Теги
компонент

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

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


 


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


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