Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   объясните особенности директивы import (http://www.flasher.ru/forum/showthread.php?t=120853)

Mur4ik 01.02.2009 23:12

объясните особенности директивы import
 
На что влияет импорт классов всего пакета или конкретно используемых классов?

Т.е можно записать так
Код AS3:

import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.EventPhase;
import flash.events.MouseEvent;

а можно так
Код AS3:

import flash.display.*;
import flash.events.*;

Это как то влияет на размер конечного swf или на его производительность, или еще на что нибудь?

Alex Lexcuk 01.02.2009 23:29

>>Это как то влияет на размер конечного swf или на его производительность, или еще на что нибудь?

Я думаю, что влияет на скорость компиляции и мало ли, может быть есть варианты типа
Код:

import flash.display.MovieClip;
import flash.display.SimpleButton;
import mega.good.Sprite;
import the.best.Event;
import caurina.lightevents.EventPhase;
import g.maxtween.MouseEvent;

конечно тут уж звездочки не пойдут

etc 01.02.2009 23:48

Ни на что не влияет.

CEBEP 02.02.2009 00:47

Влияет только на последующую читабельность когда, в первом случае вы знаете что именно импортили, а во втором нет.

ramshteks 02.02.2009 01:39

Цитата:

Сообщение от CEBEP (Сообщение 794932)
Влияет только на последующую читабельность когда, в первом случае вы знаете что именно импортили, а во втором нет.

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

CEBEP 02.02.2009 02:22

Не, не, открыв через месяц какой-нибудь кастомный класс, нельзя "прекрасно знать что импортировал" ну или глядя в чужой, приблизительно догадаться о чём там речь не глядя дальше в код.
Ну а на стадии реализации, то да, помогает контролировать.
Хотя не понятно, почему флеш сам не импортирует хотя бы базовые, ну хотя бы так как этов FD сделано...

BlooDHounD 02.02.2009 11:05

Флэш, как раз все базовые сам импортирует.

iNils 02.02.2009 13:47

Если импортируемых классов из пакета больше, чем 1, то я не перечисляю все, а использую *, тк не используемое не импортируется.

BlooDHounD 02.02.2009 15:42

iNils, "не импортируется" или "не вкомпиливается" ?

iNils 02.02.2009 16:05

Второе.

Яски 03.02.2009 23:54

Так же, как iNils постпуаю - импорты имеют свойство разрастаться и занимать много лишнего пространства.

DarkLight 04.02.2009 00:01

Я пишу импорты флешовых классов >1 в пакете звездочкой, импорт классов, связанных с графикой во fla - звездочкой, свои классы, не связанные с графикой - каждый по отдельности. Ничего страшного в том что секция импортов достигает иногда 50 строк не вижу.

_Smirnoff 04.02.2009 00:04

Вообще не заморачиваюсь с импортами. Автокомплит рулит.

Mur4ik 04.02.2009 00:08

Спасибо всем, уже все понял.

etc 04.02.2009 00:38

А я вообще импорты не пишу.

hipot 04.02.2009 04:59

тут у меня как-то возник вопрос, почему при написании кода на кадрах не надо делать import используемых внутренних flash-классов (свои все равно надо импортировать).
(прошу тапками в меня не кидать за написание на кадрах - в них я не пишу - просто интересно узнать про эту особенность).
могу лишь предположить, что флеш это автоматом делает, при превращении кода на кадре в метод основного ролика.

Molecula 04.02.2009 05:18

Цитата:

А я вообще импорты не пишу.
А это как? Редактор сам вставляет нужные импорты?

etc 04.02.2009 09:58

Molecula, конечно, зачем мне этот геморрой?

DarkLight 04.02.2009 11:03

Ну у меня тоже вставляет, я только незначительные изменения вношу)

BlooDHounD 04.02.2009 11:29

DarkLight, поставить *, это не "незначительные" изменения, а тот ещё геморрой.

Molecula 04.02.2009 20:31

Да, мне редактор тоже вставляет.

DarkLight 04.02.2009 22:54

Цитата:

DarkLight, поставить *, это не "незначительные" изменения, а тот ещё геморрой.
Если перед этим наимортировал 50 классов этого пакета - да. Если перед этим импортировал один - совсем нет:)

BlooDHounD 04.02.2009 23:48

DarkLight, да пофигу. следить всё равно надо. я на такое мозг не нагружаю. к тому же у нас это будет во вред.

wvxvw 05.02.2009 01:13

Я все пишу... ФД по умолчанию не генерит импортов если класс из той же папки - в таком случае вписываю руками...
А вообще, как раз таки когда импортов много - ИМО лучше писать все. т.как потом ну его разбираться какой класс откуда взялся и искать его по разным библиотекам...

iNils 05.02.2009 03:29

Жмешь F4 и видишь откуда.

Яски 05.02.2009 20:12

Цитата:

Сообщение от wvxvw (Сообщение 795682)
Я все пишу... ФД по умолчанию не генерит импортов если класс из той же папки - в таком случае вписываю руками...

Всмысле? А какой импорт у класса из той же папки?

etc 05.02.2009 20:13

Импорт класса из того же пакета вообще не требуется.

Котяра 05.02.2009 21:55

а в каких конкретно случаях "вкомпиливается"?
Код AS1/AS2:

1)import Class1
2) var i:Class1;
3) var i = new Class1()

просто как раз сегодня делал тестик взаимосвязи (на as2) там достаточно импорта, чтобы в итоговую swf попали все классы ( в ФД, в окне проекта это прекрасно видно, при раскрытии swf)
as3 не тестил.

dimarik 05.02.2009 22:16

FB сам все прописывает в импорт. С ним полностью согласен. Астериксы в импортах не переношу на дух.

mre 06.02.2009 12:23

To Котяра:

3-й пункт не обязателен.

wvxvw 06.02.2009 16:46

ОК, зачем пишу импорты если класс из той же папки - потому что в процессе я могу этот класс перенести куда-то в другое место, так я хоть помнить буду, откуда я его переносил, ну и легче будет вспомнить куда :)

Ф4 не совсем вариант... потому что, опять же, если импортов много, открывать кучу вкладок - тоже не хочется, потому что беспорядок и долго искать приходиться :)
Опять же, я не говорю, что так надо - просто мне так удобнее, люди по-разному работают...
ЗЫ. да и еще, это помогает, если в процессе раоты какие-то импортированые классы перестали использоваться - можно подчистить код, найти какие-то "устаревшие" куски и их повыбрасывать... вобщем, это просто организационный момент.

iNils 06.02.2009 17:32

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

wvxvw 06.02.2009 20:09

Смотри... есть люди по-натуре организованные, а мне самоорганизация дается с трудом :)

iNils 06.02.2009 20:29

Ну тогда ясно. :)

Котяра 07.02.2009 00:19

Честно говоря..( на этом мысль окончилась,.. вернее куда-то убежало)
импорты в условиях использования фд фб и фдт никаких сторонних программистов (якобы должных разбирацца в создаваемом коде) НЕ ВОЛНУЕТ, поф что импортируется, когда возникают непонятки в коде всё очень быстро находится и так. импорт [0151] это ТОЛЬКО для компилятора.

Добавлено через 3 минуты
Извините за неровный почерк. (прошу не минусить за невставлениеИсправленияИлиДополненияВПредыдущееСообщение, т.к. это задумано архитектурой)))))))))))

darksranger 07.02.2009 00:45

тут мы с wvxvw похожи (: однако у меня еще дикая лень присутсвует во всем этом xD


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

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