Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   доступ к свойствам загруженного свф (http://www.flasher.ru/forum/showthread.php?t=135929)

Tupak 05.02.2010 12:58

доступ к свойствам загруженного свф
 
Суть в том,что сушествует массив с названиями объектов(String) которые будт получены из загруженного свф. После события init мы проверяем наличие объектов с такими названиями в загруженном файле. Если они присутствуют, то мы должны сохранить их в массиве принадлежашему основному классу приложения. В отрывке кода представлен проблемный момент(problemIsHere). Если указывать непосредственно имя свойства которое нужно сохранить в массиве на месте problemIsHere , то все будет работать, но нам нужно циклично загрузить несколько объектов. Если ссылаться на элементы массива arPartsNames, то ничего не получится, как я понимаю они имеют тип String. (прим 2) Что делать?
прим 1
Код AS3:

 private function initListener(e:Event):void {
                    for (var i:int=0; i<arPartsNames.length; i++) {
if (loader.content.hasOwnProperty(arPartsNames[i])) {
                arParts[i]=Object(loader.content).problemIsHere
                addChild(arParts[i])
                                }
                        }
}

прим 2
Код AS3:

private function initListener(e:Event):void {
                    for (var i:int=0; i<arPartsNames.length; i++) {
if (loader.content.hasOwnProperty(arPartsNames[i])) {
                arParts[i]=Object(loader.content).arPartsNames[i]
                addChild(arParts[i])
                                }
                        }
}


3o3o 05.02.2010 13:12

Код AS3:

for(var str: String in

если я правильно понял, в чем дело
как они хранятся в загружаемой свфке?

Tupak 05.02.2010 13:18

Они там в виде экземпляров МувиКлип созданных из библиотеки в первом кадре

Добавлено через 13 минут
Дело в том что я могу сделать то что нужно, просто проверив наличие каждого свойства(мувиклипа в загруженном свф), и добавив его куда нужно, но не знаю как сделать это циклом, и сократить тем самым в 10 раз длинну кода

3o3o 05.02.2010 13:38

то есть у тебя есть загруженная свфка (loader.content) и ее первый кадр, в котором нужно искать мувиклипы по списку?
а как они проявлены в библиотеке?

Tupak 05.02.2010 13:54

Во ФЛА я нарисовал части тела для модели человека в рабочей области, добавил их в библиотеку, потом в первом кадре создал экземпляры этих мувиков, и поместил их в stage в список отображения. Скомпилировал СВФ, который потом будет использоваться основной частью приложения для загрузки частей тела модели человека.

Добавлено через 6 минут
то есть мне приходится каждую часть тела помещать таким образом
Код AS3:

private function initListener(e:Event):void {
        if (loader.content.hasOwnProperty("breast") {
arPartsSource[0]=Object(loader.content).breast;
addChild(arPartsSource[0]);}
private function initListener(e:Event):void {
        if (loader.content.hasOwnProperty("leg") {
arPartsSource[1]=Object(loader.content).leg;
addChild(arPartsSource[1]);}
}


3o3o 05.02.2010 14:02

Вложений: 1
мне на скрине еще что-то надо прописывать чтобы было как у тебя?)

3o3o 05.02.2010 14:04

Код AS1/AS2:

Object(loader.content).['leg'];

не понимает?

Tupak 05.02.2010 14:11

так не понимает

3o3o 05.02.2010 14:17

Вложений: 1
так. я просто хочу удостовериться, что у нас одинаковые по структуре свфки получаются... я закинул файлы в библиотеку, конвертнул в символы, назначил linkage и кинул на сцену. что еще нужно?

Tupak 05.02.2010 14:22

я не стал в ручную вытаскивать их на сцену, я создал в первом кадре код
Код AS3:

var skull=new Skull()
var breast=new Breast()
var elbow=new Elbow()
var foot=new Foot()
var hip=new Hip()
var pelvis=new Pelvis()
var shin=new Shin()
var shoulder=new Shoulder()
var wrist=new Wrist()
addChild(skull)
addChild(breast)
addChild(elbow)
addChild(foot)
addChild(hip)
addChild(pelvis)
addChild(shin)
addChild(shoulder)
addChild(wrist)

Добавлено через 1 минуту
у меня все работает, просто я не знаю как циклично их обработать. А так в результате выполнения этого кода, в этом свф они будут свойствами, и помещены в список отображения

Добавлено через 2 минуты
естественно у меня нет таких панелей, потому что я не вытаскивал клипы на сцену


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

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