Flash Ripper RSS Readers

_targetInstanceName и Flash MX 2004

Разработчики компонентов наверное знают свойство _targetInstanceName, содержащее путь к целевому клипу (то есть к объекту Сцены, на который будет воздействовать компонент). Наличие этого свойства позволяет прямо из библиотеки перетаскивать компонент на какой-либо объект; при этом, если отпустить компонент над целевым клипом, то компонент автоматически прилипнет к левому верхнему углу целевого клипа. А свойство _targetInstanceName при этом автоматическм получит значение -- путь к целевому клипу, таким образом, избавляя разработчика от необходимости вручную указывать путь. В общем, полезное и удобное свойство, например, для случаев, когда вы хотите прицепить разработаный вами скроллбар к текстовому полю -- перетащил, отпустил -- и готово. Но во Flash MX 2004 это свойство перестало работать. Точнее, не перестало, а изменило свой поведение. Опуская подробности, хорошо описанные Мартином (там же можно скачать исходники), перейдем сразу к решению: для правильной работы свойства _targetInstanceName в среде разработки Flash MX 2004, нужно в файле класса для компонента создать соответствующую пару геттер-сеттер, и все заработает:

class TestTargetInstanceName {

public var target:MovieClip;

[Inspectable(_targetInstanceName=""]
function get _targetInstanceName():MovieClip
{
return target;
};

function set _targetInstanceName( _t:MovieClip ):Void
{
target = _parent[_t];
};
}

Теперь свойство _targetInstanceName, как и прежде, получает значение атоматически при перетаскивании компонента на целевой клип. А вот добиться прилипания компонента к целевому клипу мне так и удалось ;(

// via JabbyPanda

Писал Rost, 11 Февраль 2005 20:04

Найдены баги:

просто нужно разобраться что такое прилипание.
в режиме разработки нужно live preview клипу задать соответствующие обработчики. только учесть, что live preview не может себя двигать, поэтому двигать нужно его нутря.
а в режиме проигрывания ролика просто взять нужные координаты из target мувика и на их основании вычислить свои.
по-моему так. но не тестил

Iv - 11 Февраль 2005 21:17

да, ну вот собственно посмотрел исходник мартина.
побаловался. вдруг стало залипать...
пока повторить свои действия и добиться этого заново не смог. во как.

Iv - 11 Февраль 2005 21:38

Iv, конечно, так можно сделать, используя Live Preview, у меня здесь только одна сентиментальная мысль -- а ведь раньше (когда, как известно, вообще все было лучше ;-) компонент прилипал сам.

Еще люди говорят, что оно и прилипает даже, если установить Flash Update (7.2, Ellipsis). Только вот у меня и с этим не прилипает, хоть и работает. Впрочем, не велико горе - главное, что это действует в конечном приложении и Макромедия не отказалась от этого в принципе.

Рост - 11 Февраль 2005 21:39

Iv:
>> побаловался. вдруг стало залипать...
та же беда

Рост - 11 Февраль 2005 21:40

Прилипанием при редактировании рулит сам редактор флэш. Если у компонента есть параметр _targetInstanceName - компонент прилипает к мувиклипам и текстовым полям (левому верхнему углу). Дополнительно при наличае у компонента свойства horizontal прилипание к текстовым полям изменяет поведение: редактор определяет к какому краю надо подогнать компонент и меняет размер livepreview области, подгоняя либо высоту либо ширину к размеру текстового поля. Во Flash MX (не 2004), чтобы это работало, компонент должен был обязательно называться "scroll" - собственно и сделано было чтобы работать со скроллами...
Вообще макромедия обещала вытащить эту функциональность на уровень jsfl - но не стала, т.к. чревато, а то вытащил какой-нибудь компонет на стаж - а он тебе весь исходник покарёжил кривым jsflем, да и не секьюрно как-то...

Dendroid - 12 Февраль 2005 6:05

Dendroid, интересные вещи нишешь! А сказанное тобой относится ко всем компонентам или только к разработанным Макромедией компонентам второй версии?

И еще вопрос:
>> Вообще макромедия обещала вытащить эту функциональность на уровень jsfl

- можно ссылку?

Голос из зала - 14 Февраль 2005 16:15

ко всем.
обсуждалось на сайте Майка Чамберса (http://www.markme.com/mesh/) топик что-то вроде "что бы еще хотели добавить в седьмую версию флэша". потом еще пару раз проскакивало
в новостях по поводу чего будет/не будет перед выходом семерки.

Dendroid - 15 Февраль 2005 9:16

Dendroid, спасибо! Очень важная и полезная информация!

Голос из зала - 15 Февраль 2005 14:01

Рад помочь, "Голос из зала" :)

Dendroid - 20 Февраль 2005 6:57



Это запись из категории 'Components'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)