|
|
|||||
Регистрация: Dec 2010
Сообщений: 37
|
Универсальный движок
Такой вопрос.
Есть флеш "полотно" размером 600 px на 800 px, он когда запускается читает файл config.txt (это может быть и xml главное что бы работало), с данными для расстановки объектов на сцене. Объекты должны иметь такие значения: Видимость (_visible) Активность (при попадании курсора или при нажатии на этот объект, будет ли он активным, или ничего не произойдет) URL картинки (в объект подгружается картинка, или атачится объект из библиотеки) Позиция X,Y (ну как бы основное - где будет размещен полученный объект) ID объекта (Ну как бы его индивидуальное имя по которому будет происходить событие ... см. дальше ) Тип (Тип объекта ну например Квадратик, или там точка, или окружность) Событие (Ну самое основное событие, то, что будет происходить по наведению или нажатию на этот объект) Ну пример такой: config.txt: visible=true active=true URL=http://flasher.ru position: x=240; y=155; ID=1; type=circle; actions: onRollOver=none; onRollOut=none; onRelease=(передать координаты объекта); onReleaseOutside=(передать координаты объекта); onPress=(передать координаты объекта); Вопросы: Как описать такие объекты? Как сделать некую базу таких опций на объектах (Ну сами объекты и их опции можно прописывать прям во флеш ролике)? Как настроить считывание с файла и определения опций на объекте? |
|
|||||
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
должны изменяться координаты объекта?
|
|
|||||
Регистрация: Dec 2010
Сообщений: 37
|
Нет, просто должно передаваться в тот же документ (config.txt) или в другой какой нибудь, координаты объекта под ID=(каким то, смотря на какой нажат).
|
|
|||||
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
делайте лучше xml.
Цитата:
2) база объектов и будет Ваш XML файл, который Вы подгружаете, ну или можете массив со ссылками на уже готовые элементы создать 3) |
|
|||||
Регистрация: Dec 2010
Сообщений: 37
|
Ок я получил объект с данными из XML файла (кста подскажите хоть один пример работы с XML).
Далее а всё таки выберу метод аттач. Как примерно будет выглядеть код, если получил вот такое значение: ID=1 (в библиотеке есть объект с именем ID1) posX=100(позиция по иксу); posY=260(позиция по игрику); vis=da(Видимость объекта - Видимый); acti=da(Активность элемента - Да); sil=1.jpg(Загрузить картинку которая лежит в корне папки под именем - "1.jpg") sob=onPress - getURL("http://flasher.ru") - (Наложить на объект событие onPress с выполнением действий "getURL("http://flasher.ru")") |
|
|||||
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
<?xml version="1.0" encoding="UTF-8"?> <data> <gallery> <album name="1"> <img name="1" small="asdasd.jpg" big="weqwe.jpg" /> <img name="2" small="asdasd.jpg" big="weqwe.jpg" /> <img name="3" small="asdasd.jpg" big="weqwe.jpg" /> ..... </album> <album name="2"> <img name="1" small="asdasd.jpg" big="weqwe.jpg" /> <img name="2" small="asdasd.jpg" big="weqwe.jpg" /> <img name="3" small="asdasd.jpg" big="weqwe.jpg" /> ..... </album> ...... </gallery> </data>
__________________
www.haiatov.ru |
|
|||||
Регистрация: Dec 2010
Сообщений: 37
|
Цитата:
Добавлено через 1 час 27 минут Есть такая функция: data_xml = new XML(); data_xml.ignoreWhite = true; data_xml.load("data.xml"); data_xml.onLoad = function() { //objname = _root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.name ID1 = _root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.id trace(ID1) movie1=_root.attachMovie("ID"+ID1, objname, this.getNextHighestDepth()); //trace(_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.posX) movie1._x=_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.posX; trace(movie1) movie1._y=_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.posY; movie1._visible=_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.vis; movie1.loadMovie(_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.ssil, objname) movie1.onRelease = function () { if (_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.sobONPRESS) { getURL(_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.sobONPRESS); } } trace(_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1]); //trace(_root.data_xml.nodeValue[0]) }; И ещё вопрос почему я не могу обращаться так ? |
|
|||||
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
//objname = _root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.name ID1 = _root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.id trace(ID1) movie1=_root.attachMovie("ID"+ID1, objname, this.getNextHighestDepth()); а что дает trace(_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.vis)?
__________________
www.haiatov.ru |
|
|||||
Регистрация: Dec 2010
Сообщений: 37
|
Цитата:
true |
|
|||||
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
наверно у вас не работает по той причине, которую я уже указал:
|
Часовой пояс GMT +4, время: 15:17. |
|
« Предыдущая тема | Следующая тема » |
|
|