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

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

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

Регистрация: Mar 2008
Сообщений: 10
Отправить сообщение для Kinley с помощью ICQ
По умолчанию Данные из XML, координаты для рисования

В общем такая проблема.

Нужно, чтобы флешка рисовала квадратик, беря координаты из xml-файла.
Функция рисования квадратика сама по себе работает отменно. Но если заменяешь на данные, взятые из xml, начинают твориться чудеса: сначала я думал, что он квадратище, который получается, просто уходит за рамки. Но после многочисленных экспериментов установил: при изменении х и у в файле, квадрат меняется в размерах с умножением, видимо, на какой-то коэффициент k...

чтобы наглядно это увидеть, попробуйте значения (х,у) = (1,1), (2,2), (3,3)...

Кто может, объясните пожалуйста, что это такое... 0_о

Код:
_root.createEmptyMovieClip("myClip", 1);

drawSqr = function(xx,yy,a) {
	myClip.lineStyle(2,0x234567);
	myClip.beginFill(0x7878FF);
	myClip.moveTo(xx,yy);
	myClip.lineTo(xx+a,yy);
	myClip.lineTo(xx+a,yy+a);
	myClip.lineTo(xx,yy+a);
	myClip.endFill();
}

make = function () {
	var xx = my_xml.childNodes[0].attributes.xx;
	var yy = my_xml.childNodes[0].attributes.yy;
	drawSqr (xx,yy,50);
	trace(xx+" "+yy);
}

//onMouseDown = trace(_xmouse+" "+_ymouse);

myClip.onMouseDown = function() {
	drawSqr(_xmouse,_ymouse,50);
}

my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(ok) {
	if (ok) {
		make();
	}
};
my_xml.load("data.xml");
trace(my_xml.status);
XML:
Код:
<item id='1' name = 'item1' xx = '5' yy = '5'></item>
Вложения
Тип файла: rar Flash.rar (4.8 Кб, 53 просмотров)


Последний раз редактировалось Kinley; 02.04.2008 в 18:01.
Старый 02.04.2008, 02:10
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 2  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Выделил цветом.
Код:
var xx = Number(my_xml.firstChild.childNodes[0].attributes.xx);
var yy = Number(my_xml.firstChild.childNodes[0].attributes.yy);
ХМЛь файл должен выглядеть так:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item id='1' name = 'item1' xx = '5' yy = '5'></item>
</root>
а не одной строчкой.
__________________
john


Последний раз редактировалось Molecula; 02.04.2008 в 02:18.
Старый 02.04.2008, 02:22
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 3  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Kinley, оформите код тегами [code][/code].
__________________
Free-lance | Twitter | Me

Старый 02.04.2008, 08:00
lexo2000 вне форума Посмотреть профиль Отправить личное сообщение для lexo2000 Найти все сообщения от lexo2000
  № 4  
Ответить с цитированием
lexo2000

Регистрация: Dec 2007
Сообщений: 23
По-моему, в функции рисования квадрата не хватает строчки
Код:
 myClip.lineTo(xx, yy);
, которая должна быть перед "myClip.endFill()".

Старый 02.04.2008, 14:46
Kinley вне форума Посмотреть профиль Отправить личное сообщение для Kinley Найти все сообщения от Kinley
  № 5  
Ответить с цитированием
Kinley
 
Аватар для Kinley

Регистрация: Mar 2008
Сообщений: 10
Отправить сообщение для Kinley с помощью ICQ
lexo2000, кажется это не имеет значения - он автоматом сам дорисовывает (в этом конкретном случае), когда используешь endFill().

Тем более, я пробовал и так и так.

Molecula, спасибо! Сейчас испробую. ТОлько вот вопрос: а почему низзя одной строчкой в один тэг?

И в чем в итоге отличие, когда я явно пропишу "childNodes[0]" или порсто скажу ему: "firstChild"

screamge, уже сделал! ...я просто сразу не нашел в час ночи, что да как.. Прошу простить меня, Уважаемые!

УРРА!!! Получилось! Спасибо! Все дело было в приведении типа... вотъ...


Последний раз редактировалось Kinley; 02.04.2008 в 15:07.
Старый 06.04.2008, 02:16
Kinley вне форума Посмотреть профиль Отправить личное сообщение для Kinley Найти все сообщения от Kinley
  № 6  
Ответить с цитированием
Kinley
 
Аватар для Kinley

Регистрация: Mar 2008
Сообщений: 10
Отправить сообщение для Kinley с помощью ICQ
А у меня продолжение истории!

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

1) Функцию стрелочки я написал, но вот проблема. Не могли бы вы объяснить, что за второй параметр в функции createEmptyMovieClip?
Потому что мои ислледования и эксперименты натолкнули меня на мысль, что это довольно-таки важный параметр...

2) Посоветуйте пожалуйста, как лучше описать связь между элементами в XML-документе. (чтобы потом по этим связям рисовать стрелочки)

Мой вариант:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <item id='1' name = 'item1' xx = '5' yy = '5'>
  <rel> item2 </rel>
 </item>
 <item id='2' name = 'item2' xx = '50' yy = '50'>
 </item>
 <item id='3' name = 'item3' xx = '5' yy = '5'>
  <rel> item2 </rel>
 </item>
</root>
что-то типа такого...
но, если честно, смотрю сам, и не понимаю, как это использовать... 0_о

Помогите, пожалуйста, кто чем может...

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

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

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


 


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


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