PDA

Просмотр полной версии : Неподъёмная проблема !!!


SphinX
29.08.2002, 09:07
Долго думал куда же спрашивать в СЮДА или в Advanced, дык вот ...
Есть swf'ка в ней зашит класс примерно такой:

Class = function()
{
trace("construction ...");
this.method = function()
{
trace(str);
// в текущем ролике в обьекте _global переменной "str"
// не существует, зато когда мы методом loadMovie("эта swf'ка")
// загрузим её в другую, то там она будет. Я её созам Ж)
}
}

на деле ничего не получается:
1) компилирую swf'ку с классом
2) создаю другую, с глобальной переменной str

_global.str = "some string";

3) методом loadMovie загружаю в неё swf'ку с классом
4) выполняю код:

c = Class();
c.method();

5) и нифига, вывод который должен быть:

construction ...
some string

вывод который есть:

construction ...
undefined


исходники не выкладываю, потому что самим быстрее написать

поможите :(

DeliMIter
29.08.2002, 15:54
c = new Class();

SphinX
29.08.2002, 16:41
... согласен, но это у меня в топике ошибка, а не в исходнике ...
если бы решение лежало так близко, было бы просто офигительно ...

C2Plus
29.08.2002, 16:54
а если попробовать trace(_global.str) ?

C2Plus
29.08.2002, 17:07
_global.str = "123";
loadMovie("gl.swf", this);


gl.swf:

class = function(){
trace ("created")
this.tr = function(){
trace("str:" add str);
}
}

a = new class();

a.tr();

stop();

это у меня работает как надо.

SphinX
29.08.2002, 18:34
... хе хе хе , всё не так просто, ВАШ код, товарищь:

a = new class();
a.tr();

мне надо вызвать не в gl.swf а в ролике в котором он(gl.swf) загружается ...

Nox Noctis
29.08.2002, 19:25
пока не понятно ЧТО ты делаешь :)

конкретно - куда грузишь ? (в какой таргет или слой ?)
и где пишешь скрипт "c = Class(); c.method();" ?

SphinX
29.08.2002, 19:58
первый мовик - one.swf сюда грузим
второй мовик - two.swf контейнер нашего класса "Class"

из one.swf я гружу two.swf в пустой мовиклип с названием "m"
или так:
содержание two.swf станет содержанием мовика "m" из one.swf
допустим я смог отловить событие загрузки two.swf в one.swf
и смог выполнить (как обработчик события) некую процедуру
эта процедура запускается из one.swf

//для one.swf
_root.m.loadMovie("two.swf");
_root.m.onLoad = function()
{
_global.str = "some_string";
c = new _root.m.Class();
c.method();
}

доступ к классу Class должен появиться после загрузки two.swf
так как этот класс там содержится:

//для two.swf
_global.Class = function()
{
trace("construction ...");
this.method = function()
{
trace(str);// или trace(_global.str); - не важно
}
}


грубо говоря, загрузкой two.swf я хочу сэмулировать объявление
глобального класса "Class" в one.swf,
но чтобы этот класс имел доступ к
глобальным переменным мовика one.swf


желаемый вывод:

construction ...
some_string

дурацкая реальность:

construction ...
undefined

Nox Noctis
29.08.2002, 21:02
лажа :)
то ли я тебя не понял, то ли там ошибок больше чем строчек :)

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

SphinX
29.08.2002, 21:10
где же люди такие Афоризмы берут, я про слова-дела
исходники смотрю, потом отвечу ...

SphinX
29.08.2002, 21:13
ЧУВАК, ну что же мне для ТЕБЯ сделать ??? (Ящик пива чтоль)
Ты мой личный Бог
СПАСИБО !!!СПАСИБО !!!СПАСИБО !!!СПАСИБО !!!СПАСИБО !!!
СПАСИБО !!!СПАСИБО !!!СПАСИБО !!!СПАСИБО !!!СПАСИБО !!!

SphinX
29.08.2002, 21:14
:eek: :rolleyes: ;) :p :) :D

SphinX
29.08.2002, 21:21
изврат,
я пытался делать почти то же самое НО ничего не выходило
я ставил в a.fla класс-заглушку типа
xxx = function()
{
}
и проверял на существование так:
if (xxx != undefined)
{
...
}

... блин ... столько времени потерял, а решение было близко !!!

Nox Noctis
29.08.2002, 21:30
Оригинал написал(а) SphinX
(Ящик пива чтоль)...а это мысль ! :)))

DeliMIter
30.08.2002, 18:10
Nox, не продешеви, тебе же сказали: ты - бог! На твоем месте я бы потребовал четырнадцатилетних девственниц по одной в неделю ;))))))))))

SphinX
30.08.2002, 19:10
у меня обычно слова с делом не расходятся ...
:D :D :D

SphinX
08.09.2002, 14:36
2 Nox Noctis
а слабо без мовика loader, прямо в _root грузить ??? :D
если слабо, то почему в _root грузить не хочет ?

Nox Noctis
08.09.2002, 23:09
Оригинал написал(а) SphinX
слабо прямо в _root грузить ???да мне-то запросто :)) раз плюнуть... :))
только... вот незадача - в результате операции лоадМуви все переменные и функции исходного мувика - удаляются :) упс... :))

то есть если грузить в _рут, то там ни-че-го не останется, кроме того, что грузится :)

...правда, можно сохранить функции и переменные в _global - этот объект по новой не инициализируется при лоадМуви в _рут или в левел ноль :)
...но это - уже совсем другая история :)

SphinX
09.09.2002, 07:54
то есть если грузить в _рут, то там ни-че-го не останется, кроме того, что грузится :)
как же меня это бесит ... :mad: :mad: :mad:

Nox Noctis
09.09.2002, 08:01
чччерт !... как же меня бесит что в байте восемь бит !...

SphinX
09.09.2002, 08:21
если там бит было бы !8, то Flesh'а б мы не увидели точно ...

DeliMIter
09.09.2002, 20:02
Чтоб вы оба знали, в байте - 9 бит. А вот из-за таких, как вы, винда и падает.

Nox Noctis
09.09.2002, 20:10
да-да-да :)) контроль четности :)

*предупредительный выстрел в голову*

DeliMIter
09.09.2002, 20:14
Так, один исправился...

SphinX
10.09.2002, 17:03
а я не говорил сколько в нём конкретно бит, мне исправляться не надо :D ...
и если уж вы про ASM, то чётность отражает состояние машины после микрооперации, а информацию несут лишь 8 бит байта :cool: ...

Nox Noctis
10.09.2002, 17:47
ну ты просто открыл нам глаза на жизнь !... :D

SphinX
10.09.2002, 19:20
... а для чего же я существую, как не для этого ...

DeliMIter
10.09.2002, 22:06
Вынь бревно из глаза своего!
Пока мозг не повредило...

uri-uri
11.09.2002, 00:10
вот вы все ругаетесь, а потом этими-же руками будете за хлеб браться, низзя так :D :D :D

SphinX
28.09.2002, 18:59
2 Nox

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

SphinX
06.10.2002, 10:27
... алле ...

Nox Noctis
06.10.2002, 13:13
ну не понятно чего у тебя там не работает :rolleyes:
исходник покажи, а ?
или кусочек исходника...

SphinX
06.10.2002, 20:26
для работы понадобится вёб-сервер
хочу по url грузить ролик, он грузится но скрипт выполняется не так
как если бы я грузил ролик с диска.
исходник: