Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   function из одного swf в другом (http://www.flasher.ru/forum/showthread.php?t=48298)

gustera 22.08.2003 14:34

function из одного swf в другом
 
хочу зделать 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

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

sergwizard 22.08.2003 19:21

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

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. Использование компонентов – за редким исключением – это для ленивых и не очень грамотных флэшеров. Любая компоненты – да, – облегчает работу флэшера, но при этом значительно и неоправданно утяжеляет сам мувик.


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

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