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

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

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

Регистрация: Dec 2010
Сообщений: 37
Attention Универсальный движок

Такой вопрос.

Есть флеш "полотно" размером 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=(передать координаты объекта);

Вопросы:
Как описать такие объекты?
Как сделать некую базу таких опций на объектах (Ну сами объекты и их опции можно прописывать прям во флеш ролике)?
Как настроить считывание с файла и определения опций на объекте?

Старый 19.03.2011, 16:06
Haiat вне форума Посмотреть профиль Отправить личное сообщение для Haiat Найти все сообщения от Haiat
  № 2  
Ответить с цитированием
Haiat
[+6 09.06.11]
 
Аватар для Haiat

Регистрация: May 2007
Сообщений: 721
Код:
onRelease=(передать координаты объекта);
onReleaseOutside=(передать координаты объекта);
onPress=(передать координаты объекта);
должны изменяться координаты объекта?

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

Регистрация: Dec 2010
Сообщений: 37
Цитата:
Сообщение от Haiat Посмотреть сообщение
Код:
onRelease=(передать координаты объекта);
onReleaseOutside=(передать координаты объекта);
onPress=(передать координаты объекта);
должны изменяться координаты объекта?
Нет, просто должно передаваться в тот же документ (config.txt) или в другой какой нибудь, координаты объекта под ID=(каким то, смотря на какой нажат).

Старый 19.03.2011, 16:50
Haiat вне форума Посмотреть профиль Отправить личное сообщение для Haiat Найти все сообщения от Haiat
  № 4  
Ответить с цитированием
Haiat
[+6 09.06.11]
 
Аватар для Haiat

Регистрация: May 2007
Сообщений: 721
делайте лучше xml.

Цитата:
Вопросы:
Как описать такие объекты?
Как сделать некую базу таких опций на объектах (Ну сами объекты и их опции можно прописывать прям во флеш ролике)?
Как настроить считывание с файла и определения опций на объекте?
1) разбираете xml, в зависимости от значений параметров, создаете нужные элементы (или из библиотеки аттачите), и прописываете им нужные параметры

2) база объектов и будет Ваш XML файл, который Вы подгружаете, ну или можете массив со ссылками на уже готовые элементы создать

3)
Код AS1/AS2:
data_xml = new XML();
		data_xml.ignoreWhite = true;
		data_xml.load("data.xml");
		data_xml.onLoad = function() {
 
		};

Старый 19.03.2011, 17:12
Alexvblbl вне форума Посмотреть профиль Отправить личное сообщение для Alexvblbl Найти все сообщения от Alexvblbl
  № 5  
Ответить с цитированием
Alexvblbl

Регистрация: 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")")

Старый 19.03.2011, 17:55
Haiat вне форума Посмотреть профиль Отправить личное сообщение для Haiat Найти все сообщения от Haiat
  № 6  
Ответить с цитированием
Haiat
[+6 09.06.11]
 
Аватар для Haiat

Регистрация: 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>
Код AS1/AS2:
for(i=0;i<_root.data_xml.childNodes[0].childNodes[0].childNodes.length;i++){
  trace(_root.data_xml.childNodes[0].childNodes[0].childNodes[i].attributes.name);
}
__________________
www.haiatov.ru

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

Регистрация: Dec 2010
Сообщений: 37
Цитата:
Сообщение от Haiat Посмотреть сообщение
Код:
<?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>
Код AS1/AS2:
for(i=0;i<_root.data_xml.childNodes[0].childNodes[0].childNodes.length;i++){
  trace(_root.data_xml.childNodes[0].childNodes[0].childNodes[i].attributes.name);
}
Супер! То, что нужно спасибо. Правда ещё будут вопросы

Добавлено через 1 час 27 минут
Есть такая функция:

Код AS1/AS2:
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])
		};
Не работает функция onRelease - не реагирует вообще.
И ещё вопрос почему я не могу обращаться так
Код AS1/AS2:
objname._visible=_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.vis;
?

Старый 21.03.2011, 12:30
Haiat вне форума Посмотреть профиль Отправить личное сообщение для Haiat Найти все сообщения от Haiat
  № 8  
Ответить с цитированием
Haiat
[+6 09.06.11]
 
Аватар для Haiat

Регистрация: 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());
у вас objname закоментирован, а Вы его используете.

Код:
И ещё вопрос почему я не могу обращаться так
а что дает trace(_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.vis)?
__________________
www.haiatov.ru

Старый 21.03.2011, 12:46
Alexvblbl вне форума Посмотреть профиль Отправить личное сообщение для Alexvblbl Найти все сообщения от Alexvblbl
  № 9  
Ответить с цитированием
Alexvblbl

Регистрация: Dec 2010
Сообщений: 37
Цитата:
а что дает trace(_root.data_xml.childNodes[0].childNodes[0].childNodes[0].childNodes[1].attributes.vis)?
output:
true

Старый 21.03.2011, 13:15
Haiat вне форума Посмотреть профиль Отправить личное сообщение для Haiat Найти все сообщения от Haiat
  № 10  
Ответить с цитированием
Haiat
[+6 09.06.11]
 
Аватар для Haiat

Регистрация: May 2007
Сообщений: 721
наверно у вас не работает по той причине, которую я уже указал:

Код:
у вас objname закоментирован, а Вы его используете.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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