PDA

Просмотр полной версии : function из одного swf в другом


gustera
22.08.2003, 14:34
хочу зделать swf (library.swf) в котором будут находится все функции которые я изпользую в других swf. только не понятно как потом обратится к функции из library.swf из других swf?

Armen Khanoyants
22.08.2003, 14:47
_root.MovieClipSFunkciami.imyaFunkcii("blablablabla");

llllllllll
22.08.2003, 15:27
Собственно в MX в распоряжении есть _global, можно загрузить на _level0 SWF (что-то типа "Core_setUp.swf" :)), где будет написано _global.test = function(){trace("ok")}, потом загрузить на _level0 другой SWF и из него вызвать наш test() (это все конечно примитивно :))

Можно воспользоваться уже имеющимися объектами, вроде MovieClip.prototype или любой другой ...

В противном случае нас ждет жуткая работа, обращаться к функциям примерно таким вот образом _level1.target_mc.myFunction(), или _parent._parent._parent.myFunction() ;)

gustera
22.08.2003, 16:04
может я чтото не так делаю, но с _global тоже не работает. Вот примерно как я пробую

sergwizard
22.08.2003, 19:21
А ты попробуй вот так.
Но, вообще-то, твоя затея - не блестящая. Ну очень даже не блестящая.

gustera
22.08.2003, 20:09
почему??? :confused:

sergwizard
22.08.2003, 21:44
Блин, как тяжело объяснять абсолютно очевидные вещи. Но я попробую одной фразой:
Нельзя объять необъятное и впихнуть невпихуемое.

gustera
25.08.2003, 11:34
я понимаю что идея не очень, но есть 2 причины чтобы я ето делал:
1. огромные функции, которые юзаются в огромном количестве swf. Нет смысла менять везде одно и тоже 100 раз, если можно поменять только 1;)
2. security reasons;) - иначе я может быть зделал бы иначе.

Dimonius
25.08.2003, 12:43
Может я чего не понял, но что мешает сделать так:

#include functions.as

В файле все функции.

gustera
25.08.2003, 12:50
Ответ:
2. security reasons - иначе я может быть зделал бы иначе.

Dimonius
25.08.2003, 13:04
Тогда подгрузи свф-ник, скажем в _root.cont или на ярус
И обращайся к функциям _root.cont.myFunction(); || _level9.myFunction();

типа того

Dimonius
25.08.2003, 13:06
А вообще если кто-то очень захочет код посмотреть, будь уверен все равно отроет откуда хошь.
И прятать его слишком сильно ризона никакого нет ИМХО.

gustera
25.08.2003, 13:32
ето так и все же, не дарить же прямо *.as, пусть попотеют немного :D :cool:

Dimonius
25.08.2003, 14:24
:D

ну тогда, как я и сказал.

sergwizard
25.08.2003, 21:35
2 gustera
Я - человек грубый и неженственный, и поэтому скажу честно и откровенно, с революционной прямотой:
Я сомневаюсь, что ты сможешь сочинить (если бы мог, не задавал бы такие вопросы) что-то такое, чтобы захотелось взломать твою флэшку и скоммуниздить код.Ну, а уж если я ошибаюсь, и ты действительно творишь что-то уникальное, - твори компоненты. Тогда никто не взломает твой уникальный код.

uri-uri
26.08.2003, 22:29
2 sergwizard

А от чего это компоненты нельзя взломать? Те же флэшки.

sergwizard
26.08.2003, 23:54
Насколько я знаю, декомпиллеры не видят код внутри компонентов. Возможно я и ошибаюсь. Переубеди.

gustera
27.08.2003, 11:48
2 sergwizard

компоненты то я и делаю, их правда декомпилеры не видят, но я же делаю компоненты для продажи(не хотел чтоб клиенты видели код моего творения пока юзают его). На самом деле идея заключается в том, что мне не хочется 1000 раз писать и менять одно и тоже, если можно поменять всего на одном месте. Однако к моему сожалению, кажется придется отказатся от библиотеки. Получится очень сложно для юзера, а ведь идея компонентов облекчить жизнь флашера ;)

sergwizard
27.08.2003, 19:30
Однако, к моему сожалению, кажется, придется отказаться от библиотеки.
И вот это правильно! Именно поэтому я и говорил, что задумка твоя неблестящая.
Намного легче и продуктивнее тот вариант, который предложил тебе Dimonius, а именно, - написание *.as(ов) и, при необходимости использования нужной и уже написанной функции, делать ее #include.
По поводу компонентов:
1. Тот способ, которым ты предполагал импортировать компоненту, - нереален. В этом ты сам можешь убедиться.
2.(не хотел, чтоб клиенты видели код моего творения пока юзают его)
И вот это, по-моему, тоже нереально. Юзер должен иметь доступ к коду компоненты, чтобы использовать его для своих сугубо специфических целей.
3. Использование компонентов – за редким исключением – это для ленивых и не очень грамотных флэшеров. Любая компоненты – да, – облегчает работу флэшера, но при этом значительно и неоправданно утяжеляет сам мувик.