Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Неподъёмная проблема !!! (http://www.flasher.ru/forum/showthread.php?t=36428)

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

Вложений: 1
лажа :)
то ли я тебя не понял, то ли там ошибок больше чем строчек :)

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

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

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


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

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