Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Использование стандартных компонентов в FlashDevelop? (http://www.flasher.ru/forum/showthread.php?t=113470)

Волгоградец 30.06.2008 11:30

Использование стандартных компонентов в FlashDevelop?
 
Здравствуйте! Как можно юзать компоненты в FD? FD на флэшке ношу.

Fernando Costa 30.06.2008 14:21

http://www.flashdevelop.org/communit...pic.php?t=1061

Волгоградец 30.06.2008 14:41

Спасибо!

Волгоградец 01.07.2008 11:09

Swc Extractor недоступен. После распаковки доступны ASI классы - я так думаю их надо переименовать в .as, добавить в папку и изменить внутреннее описание. Если не лень, выложите кто-нибудь пример как должен выглядеть intrinsic class компонента...

uncle_sam 01.07.2008 13:03

Филип пишет там на форуме:
Extract the SWF contained in the SWC/ZIP file and add it to your project library.
а где в FD находится эта библиотека проекта?

и еще вопрос. вот выдаются ошибки при компиляции и пишут Please force compilation of this class by adding it to the commandline.
а как мне этот класс в командлайн добавить?

Волгоградец 01.07.2008 13:11

Создаешь папку, туда кидаешь файлы, жмешь правой кнопкой на файле - add to library.
Но как дальше быть? Каким методом аттачить компонент?

uncle_sam 01.07.2008 14:17

нету у меня в контекстном меню add to library.
или add to trusted paths имеется ввиду?

Волгоградец 01.07.2008 15:47

Вложений: 1
См. во вложении.

wvxvw 01.07.2008 18:02

С компонентами я делал так: вытаскивал в флешку нужные компоненты, компилировал ее в SWF/SWC, а потом этот SWF/SWC подкючал, как библиотеку (ну а из библиотеки они аттачатся, как и любой другой клип), единственное, в старых версиях ФД не было mx классов (они нужны компонентам для автокомплита). В настройках компайлера можно указать "использовать mx классы", но я все равно часть из них переделал, поэтому просто сложил то, что мне из них было нужно в отдельную папочку и подключал, как и любой другой проэкт.
Но, в качестве совета... лучше оставить их в покое... они не просто плохо, они просто отвратно написаны =) только для того чтобы перекомпилировать одну несчастную кнопку прийдется перекопать весь фреймворк добавляя типизацию, вынося объявления переменных из тела "ифа" или цикла... При чем это не единичные случаи... оно там все так написано что волосы дыбом встают =) Т.е. на класс из 500 строк как минимум 500 ошибок =)

Т.е. чтобы было понятнее - вставляя в свой проект одну кнопку из стандартных компонентов вы тащите туда 2 десятка классов исполненых в стиле "клинопись шумерсокого двоечника-графомана"...

Волгоградец 01.07.2008 18:21

Т.е. все-таки методом attachMovie надо вызывать их из библиотеки. И на сцене они, получается, будут клипами. И как я применю, например, к клипу метод move () или событие click?

uncle_sam 01.07.2008 18:32

Вложений: 1
Волгоградец, спасибо за картинку. я просто создавал Flash IDE project.
а у тебя, видимо, library project.

если еще нужен этот swcExtractor то смотри вложение.

инструкция по использованию:

Here's a small command line tool (.NET 1.1, source included) to extract intrinsic classes from a compiled clip (SWC).
Don't miss this tool is you work with MTASC and/or FlashDevelop!

Usage: Unzip and drag&drop the SWC on the executable (in Bin/Release).

wvxvw 01.07.2008 18:58

Код:

var sb:SimpleButton = SimpleButton(somewhere.attachMovie("assetName", "newName", someDepth));
Только вот когда вы это сделаете - зажмурьтесь =) т.как МТАСК будет долго плеваться =)

Волгоградец 02.07.2008 11:32

Вот как надо работать с компанентами в FD:
1. Беерм .swc файл компонента, переименовываем его в .zip.
2. Перетаскиваем архив на exe'шник SwcExtractor - создается папка с instrisic классами - кидаем ее в какую-нибудь папку.
3. В .zip папке ищем .swf файл компонента и добавляем его в библиотеку в FD.
4. Добавляем папку с instrisic классами в глобальный путь видимости классов в FD.
5. Пишем:
Код:

import mx.controls.Button;

class A
{
        function A ()
        {
                var myButton:Button = _root.createClassObject(Button, "myButton", _root.getNextHighestDepth());
        }
}

Работает и не ругается.

wvxvw 02.07.2008 18:42

Хм, интересная штука =) не подумал, что можно .asi вместо класса использовать, чтобы не ругался =) Но в стрикт муд все равно нужно будет переделывать, зато хоть не так много =)

Волгоградец 02.07.2008 20:12

А что такое "стрикт муд"?

wvxvw 02.07.2008 20:43

Вложений: 1
Это настройка того на сколько дотошно будет проверятся синтаксис. Т.е. в Strict Mode нетипизированая переменная вызовет ошибку, например. Кому непривычно - будет много мороки поначалу, но когда привыкаешь - понимаешь, что удобно =) Т.как ошибок и меньше, и найти легче =)

Волгоградец 02.07.2008 21:10

Ух ты - классная штука. Буду использовать теперь. А почему во встроенных классах так много ошибок? Как они вообще работают то?

wvxvw 02.07.2008 21:23

Ну, компиляторы же разные =) MTASC - более строгий (если синтаксис укладывается в более жесткие рамки, его легче распарсить и перевести в байткод - поэтому он и работает быстрее флешевого). Т.е. понадобится гораздо меньше проверок.
А почему так компоненты написаны... ну не знаю... можно только гадать =) Вообще, глядя на них - впечатление, как будто их писали в спешке и лишь бы отделаться, при чем в каком-то редакторе не предназначеном для АС... не знаю, возможно в ВС или какой-нть плагин к Эклипсу (типа продвинутого ноутпада =).

uncle_sam 03.07.2008 17:01

я всё сделал так как описал Волгоградец и в итоге у меня вылезает ошибка

C:\Documents and Settings\1\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes/mx/core/ScrollView.as:174: characters 1-42 : type error Object should be String

скажите, что я не так делаю?

Волгоградец 03.07.2008 17:20

Все правильно делаешь. А это - результат ошибок в классах компонентов. Там либо возвращаемый результат функции, либо аргумент имеет неверный тип данных - исправь.

uncle_sam 03.07.2008 19:17

спасибо большое, всё заработало!


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

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