![]() |
AS3 DataProvider Как получить значение Элемента, внутри объекта
Доброго Времени суток, долго меня терзает данный вопрос - не как не могу решить.
Каким способом можно получить значение - элемента внутри массива объекта, мне это нужно для правильного вывода нужного мне объекта, ибо способ Код AS3:
и указав в Код AS3:
Объекты в моем случае это маркеры xml. PHP код:
Код AS3:
Код AS3:
По сути я хочу иметь возможность указывать значение ID, для того объекта который хочу вызвать, для загрузки. Надеюсь все нормально объяснил! Буду очень рад если помогут, мучаюсь уже пару дней. Полный сурс проекта что я использую http://pastebin.com/nfuC1Hzy |
Массив можно отсортировать по id
Код AS3:
|
Товарищ создает массив (markers) XML-ек и затем в цикле запихивает в DataProvider (acMarkers) итемы на основе этих XML-ек.
И затем хочет выковыривать итемы из DataProvider по их индексу, который бы совпадал с id. |
Цитата:
И скажем так, возможно ли использовать совсем другой поставшик данных, не dataProvider, цель лишь 1 - загрузить в сцену модель из списка .xml, по определенному ID, по сути это своего рода ModelViewer на Flash, типа такого http://goo.gl/C9vFk0. Заранее спасибо, очень приятно что ответили так быстро! P.S. Цитата:
|
1/
Цитата:
2/ Пользователь выбрал итем из списка — посылается Событие? В нем есть индекс итема или ссылка на него? Как-то же Вы узнаете, что пользователь сделал выбор? По этому индексу или ссылке можно достучаться до ID? А то Ваш вопрос зыучит в какой-то обратной логике — типа "у меня есть ID но я не знаю как найти элемент в ДатаПровайдере по этому ID, чтобы... УЗНАТЬ ЕГО ID". Если ID известен, то что мешает найти в XML нужную ноду и взять адрес? Если индекс известен, то что мешает найти объект в ДатаПровайдере по этому индексу и взять адрес? |
Цитата:
Пользователю заранее предоставляется страница с той вещью которую он хочет просмотреть в 3D, при нажатии на кнопку, заранее заготовленный JS, передает вписанное значение - подобным образом Код:
<a href="javascript:aionModelViewer.openWindow(600,525,4,110900069,'ru_RU');"><img src="/img/aion/viewin3d_ru_RU.png" border="0"></a>Напрямую к адрессу/пути(до модели) не обратиться. Объекты же ведь идут подобным образом PHP код:
|
а запрос не поможет xml.marker.(@id==110900069)?
Добавлено через 5 минут Или можно сделать словарь: Код AS3:
|
Цитата:
Вообще я по-моему понял как это решить, но не знаю как это представить в коде. Суть в том чтоб загрузить все объекты из .xml в массив обычным образом, то есть OBJ1,OBJ2,OBJ3,OBJ4, А дальше прочесть у всех объектов параметр(id), и сделать что-то типа If Equals requestid == id(из объектов), то вернуть index Объекта на котором этот id Был найден, а дальше уже подставить Index в GetobjectAt(index) и все. Но вроде только я не шарю как это лучше представить в коде ? |
Я не очень понимаю, что вы делаете.
Вы можете описать логику ГУЯ нормально? Просто то что описано я вижу так: Есть таблица заполненная массивом, который был собран из хмл. Вам почему-то нужно взять инфу о каком то объекте по ид, но вы лезете в датапровайдер таблицы (хотя там уже даже не ваш массив, а ArrayCollection по идее) Или вам нужно по выбранному элементу в таблице показать инфу о нем, передав ид во внешний ЖС? Добавлено через 4 минуты Но в любом случае словарь решает вашу задачу, по-моему. |
Цитата:
жс возвращает в ActionScript - RequestID(через FlashVars), этот RequestID указывает на ID модели которую нужно будет загрузить, через хмл - <marker id="20" adress="mymodels/model.md2" >OBJ1,<marker id="25" adress="mymodels/model2.md2" >OBJ2, на сколько я понял, через словари - можно прочесть значение маркера id, и обратно вернется порядковый номер самого объекта, если будет if statement equals, которое уже потом будет возвращаться в глобал переменную - само значение, которое можно подставить в getItemAt, надеюсь я вас правильно понял ? P.S. Или оно сразу использует ID(acMarkersDict[id] = obj;) из xml- как значение порядкового номера ? |
| Часовой пояс GMT +4, время: 01:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.