![]() |
Можно ли менять name у загружаемого swf
Можно ли менять name у объекта MovieClip в загруженном swf? По умолчанию ему присваивается что-то типа instance38.
|
попробуйте
|
2Mr.Fixit
"Можно" - это имеется ввиду "Как" :rtfm: Естественно я пробовал. Напрямую никак. Код:
Error #2078: The name property of a Timeline-placed object cannot be modified. |
А что мешает в IDE поменять имя?
|
А это где и как?
|
В CS3 на панели свойств клипа.
|
Нет. Мне нужно поменять name в загруженном внешнем swf.
1. Я создаю отдельный test.swf 2. Загружю его в loader.swf 3. Внутри loader.swf он имеет name = instant38. Могу я это instant38 пом енять на другое? |
Нет, конкретно это имя поменять нельзя. А зачем?
|
Ну хочется, чтобы загруженный мувик был с удобным именем.
Может к нему потом как-нибудь обратиться нужно. А оно еще и меняться будет (instant40 например). |
У LoaderInfo есть свойство content, а уж завести себе поле в классе вообще проблемы не представляет. Не понимаю, зачем вам вообще name.
|
Тогда следующий вопрос:
В клип MainClip загружаю внешний файл Ext.swf в котором есть клип clip1. Как мне обратиться к клипу clip1 из клипа MainClip после загрузки? Получается цепочка MainClip.instanceXX.clip1 и instanceXX не постоянно и может менятся. И ещё. Если будет предложение что-то типа: Код:
var ldr:Loader = new Loader(); |
мдя ... не получается цепочки.
content.getChildByName("clip1"); |
2BlooDHounD
content.getChildByName("clip1"); - это к чему? Ты же видишь, что я новичок. Нужно подробней :) Если так добраться до clip1, то я просил из MainClip. Если это пример текстовой переменной, то я просил mc Что-то типа: MainClip[mc_str].clip1 Нужно, чтобы забыть про ldr и обращаться как-то по другому. |
getChildAt не катит?
|
Код:
var mc:DisplayObjectContainer = ldr.content as DisplayObjectContainer; |
:wacko:
Нет. Что то я наверно не так объясняю :umnik2: Я хочу из главного клипа MainClip обращаться к clip1, который находится в загруженном. (который загрузили в MainClip). Сейчас обращаюсь через ldr (content и т.д.). Как заменить ldr на что нибудь другое (типа ExtClip) и обращаться просто MainClip.ExtClip.clip1 2BlooDHounD Да что-то наподобии, но еще чтобы имя (которое mc) бралось из текстовой переменной |
Используйте статические члены класса. Только к clip1 можно обращаться только через getChildByName. Обращение по имени напрямую возможно лишь при использовании компилятора CS3 и нативно отрисованных на сцене мувиков, не стоит это применять.
|
Sem3D
слуша, а как ты вообще умудрился так добавить загруженный swf, чтобы он был как instanceXX? обычный addChild чтоли? тогда вообще не понимаю почему нельзя сделать так: Код:
var info:LoaderInfo = event.target as LoaderInfo; |
Цитата:
|
я писал условно, я ж его кода не вижу.
если у него загрузчик в основном конструкторе и там же находится этот MainClip, то пусть в нём создаёт объект ExtClip ссылающийся на загруженный SWF. по крайней мере я примерно так и делаю =) правда выглядит нескольки иначе. Код:
package {в общем я к тому спрашиваю что не понимаю к чему такие сложности ;) |
Конструктор Object не принимает никаких аргументов, а свойство MainClip (почему название с большой буквы?) вообще имеет тип Sprite, а не Object.
|
Цитата:
Всегда делал типа так(изменил твой пример): Код:
package { |
Вложений: 1
Цитата:
Цитата:
Цитата:
а вообще вот рабочая версия того что я подразумевал. там же закоментировал что имел ввиду. З.Ы. - залейте наконец для архивов rar иконку на сайт :rolleyes: |
Большое всем спасибо.
Помоему это то что мне нужно. :yahoo: Сейчас буду пробовать. 2__etc Названия переменных нужно писАть с маленькой буквы? |
Цитата:
|
А насчет выбора имени переменной? ...
|
А зачем? Вы понимаете разницу между свойством name клипа и именем переменной-ссылки на этот клип?
|
Цитата:
|
Удалять не надо было, из-за удаления смысл в постах потерялся. Пусть висит.
|
Вот что получилось в итоге, вроде работает:
Код:
private function completeHandler(event:Event):void { |
Не обращайтесь к клипам через свойства, используйте getChildByName.
|
Цитата:
|
Потому что чистый AS3 не допускает подобных обращений. Компилятор добавляет в код новые публичные поля, что недопустимо.
|
Следующий вопрос.
Могу я вызвать процедуру находящуюся в классе mainClip из подгруженного в него клипа extClip? И как это сделать (примерчик)? Из extClip я вижу только его root. |
Sem3D
блин ты на форуме хоть искать пробовал? такие вещи раз десять уже обсуждались. Давай сам уже копай. |
2DRAGOnoid
Я искал. Не получилось. Все не то. Если не влом кинь тогда хоть ссылку. |
И еще. mainClip не видит никаких переменных и процедур в extClip.
mainClip.as Код:
package main {Код:
package main { |
где ты вызываешь класс ексКлип?
|
Прошу прощения. Последний пост работает.
Это я тормознул :rolleyes: |
всё равно не понял как это сделать 8(
можно пример? как загрузить мувик присвоив ему удобное имя обращаться к объектам на сцене |
| Часовой пояс GMT +4, время: 18:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.