Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Можно ли менять name у загружаемого swf (http://www.flasher.ru/forum/showthread.php?t=106818)

etc 23.01.2008 02:52

Конструктор Object не принимает никаких аргументов, а свойство MainClip (почему название с большой буквы?) вообще имеет тип Sprite, а не Object.

2morrowMan 23.01.2008 03:26

Цитата:

Сообщение от DRAGOnoid
я писал условно, я ж его кода не вижу.
если у него загрузчик в основном конструкторе и там же находится этот MainClip, то пусть в нём создаёт объект ExtClip ссылающийся на загруженный SWF.
по крайней мере я примерно так и делаю =) правда выглядит нескольки иначе.
Код:

package {
        import flash.display.*;
        import flash.events.*;
        import flash.net.*;
        public class TestLoader {
                public var MainClip:Sprite;
                public var loader:Loader;

                public function TestLoader        ():void {
                        this.loader = new Loader();
                        this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE,        completed);
                }
                private function complete        (event:Event):void {
                        var info:LoaderInfo = event.target as LoaderInfo;
                        this.MainClip = new Object(info.content);
                        this.addChild(this.MainClip);
                }
        }
}

таким образом this.MainClip - у меня загруженный клип, куда хочу туда и добавляю, и обращаться к нему легко.
в общем я к тому спрашиваю что не понимаю к чему такие сложности ;)

Ууу, жесть...

Всегда делал типа так(изменил твой пример):
Код:

package {
        import flash.display.*;
        import flash.events.*;
        import flash.net.*;
        public class TestLoader {
                public var mainClip:DisplayObject;

                public function TestLoader        ():void {
                        var loader:Loader = new Loader();
                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE,        completed);
                        loader.load(new URLRequest("your_url_here"));
                }
                private function complete        (event:Event):void {
                        var info:LoaderInfo = event.target as LoaderInfo;
                        this.mainClip = info.content as DisplayObject;
                        if (this.mainClip) this.addChild(this.mainClip);
                }
        }
}


DRAGOnoid 23.01.2008 03:39

Вложений: 1
Цитата:

Сообщение от __etc
Конструктор Object не принимает никаких аргументов

ик? О___О
Цитата:

Сообщение от __etc
а свойство MainClip (почему название с большой буквы?)

извини так назвал его хозяин поста а не я.
Цитата:

Сообщение от __etc
вообще имеет тип Sprite, а не Object.

да просто торопился забыл поправить на MovieClip :rolleyes:

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

З.Ы. - залейте наконец для архивов rar иконку на сайт :rolleyes:

Sem3D 23.01.2008 12:53

Большое всем спасибо.
Помоему это то что мне нужно. :yahoo:
Сейчас буду пробовать.

2__etc
Названия переменных нужно писАть с маленькой буквы?

etc 23.01.2008 13:01

Цитата:

Сообщение от Sem3D
Названия переменных нужно писАть с маленькой буквы?

Обязательно.

Sem3D 23.01.2008 13:11

А насчет выбора имени переменной? ...

etc 23.01.2008 13:25

А зачем? Вы понимаете разницу между свойством name клипа и именем переменной-ссылки на этот клип?

Sem3D 23.01.2008 13:34

Цитата:

Сообщение от __etc
А зачем? Вы понимаете разницу между свойством name клипа и именем переменной-ссылки на этот клип?

Уже все понял. Вопрос удалил.

etc 23.01.2008 13:40

Удалять не надо было, из-за удаления смысл в постах потерялся. Пусть висит.

Sem3D 23.01.2008 14:18

Вот что получилось в итоге, вроде работает:
Код:

private function completeHandler(event:Event):void {
  this.mainClip["extClip"] = event.target.content as MovieClip
  this.mainClip.addChild(this.mainClip["extClip"]);
  trace(this.mainClip.extClip);          // [object MovieClip]
  trace(this.mainClip.extClip.clip1);    // [object clip1]
}



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

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