Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.02.2010, 12:58
Tupak вне форума Посмотреть профиль Отправить личное сообщение для Tupak Найти все сообщения от Tupak
  № 1  
Ответить с цитированием
Tupak

Регистрация: Mar 2008
Сообщений: 25
По умолчанию доступ к свойствам загруженного свф

Суть в том,что сушествует массив с названиями объектов(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])
				}
			}
}

Старый 05.02.2010, 13:12
3o3o вне форума Посмотреть профиль Отправить личное сообщение для 3o3o Найти все сообщения от 3o3o
  № 2  
Ответить с цитированием
3o3o

Регистрация: Nov 2007
Сообщений: 12
Код AS3:
for(var str: String in
если я правильно понял, в чем дело
как они хранятся в загружаемой свфке?

Старый 05.02.2010, 13:18
Tupak вне форума Посмотреть профиль Отправить личное сообщение для Tupak Найти все сообщения от Tupak
  № 3  
Ответить с цитированием
Tupak

Регистрация: Mar 2008
Сообщений: 25
Они там в виде экземпляров МувиКлип созданных из библиотеки в первом кадре

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

Старый 05.02.2010, 13:38
3o3o вне форума Посмотреть профиль Отправить личное сообщение для 3o3o Найти все сообщения от 3o3o
  № 4  
Ответить с цитированием
3o3o

Регистрация: Nov 2007
Сообщений: 12
то есть у тебя есть загруженная свфка (loader.content) и ее первый кадр, в котором нужно искать мувиклипы по списку?
а как они проявлены в библиотеке?

Старый 05.02.2010, 13:54
Tupak вне форума Посмотреть профиль Отправить личное сообщение для Tupak Найти все сообщения от Tupak
  № 5  
Ответить с цитированием
Tupak

Регистрация: Mar 2008
Сообщений: 25
Во ФЛА я нарисовал части тела для модели человека в рабочей области, добавил их в библиотеку, потом в первом кадре создал экземпляры этих мувиков, и поместил их в 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]);} 
}


Последний раз редактировалось Tupak; 05.02.2010 в 14:02.
Старый 05.02.2010, 14:02
3o3o вне форума Посмотреть профиль Отправить личное сообщение для 3o3o Найти все сообщения от 3o3o
  № 6  
Ответить с цитированием
3o3o

Регистрация: Nov 2007
Сообщений: 12
мне на скрине еще что-то надо прописывать чтобы было как у тебя?)
Изображения
 

Старый 05.02.2010, 14:04
3o3o вне форума Посмотреть профиль Отправить личное сообщение для 3o3o Найти все сообщения от 3o3o
  № 7  
Ответить с цитированием
3o3o

Регистрация: Nov 2007
Сообщений: 12
Код AS1/AS2:
Object(loader.content).['leg'];
не понимает?

Старый 05.02.2010, 14:11
Tupak вне форума Посмотреть профиль Отправить личное сообщение для Tupak Найти все сообщения от Tupak
  № 8  
Ответить с цитированием
Tupak

Регистрация: Mar 2008
Сообщений: 25
так не понимает

Старый 05.02.2010, 14:17
3o3o вне форума Посмотреть профиль Отправить личное сообщение для 3o3o Найти все сообщения от 3o3o
  № 9  
Ответить с цитированием
3o3o

Регистрация: Nov 2007
Сообщений: 12
так. я просто хочу удостовериться, что у нас одинаковые по структуре свфки получаются... я закинул файлы в библиотеку, конвертнул в символы, назначил linkage и кинул на сцену. что еще нужно?
Изображения
 

Старый 05.02.2010, 14:22
Tupak вне форума Посмотреть профиль Отправить личное сообщение для Tupak Найти все сообщения от Tupak
  № 10  
Ответить с цитированием
Tupak

Регистрация: Mar 2008
Сообщений: 25
я не стал в ручную вытаскивать их на сцену, я создал в первом кадре код
Код 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, время: 20:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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