|
|
|||||
Регистрация: Jun 2012
Сообщений: 5
|
Xml + slide + onmousemove
Всем привет. Возник вопрос, никак не могу разобраться.
В общем я сделал xml меню, в котором делается attachMovie кнопки. И размер этого меню зависит от той информации, которая в хмл.. то есть если в хмл 10 строчек, создаёться 10 кнопок. Мне нужно что бы в этом меню было 30 и более кнопок (это раздел новостей), поэтому нужна прокрутка onmouse move. Тоесть существует маска которая показывает допустим 10 кнопок, остальные скрыты. и при наведении мышки нужно чтоб меню пролистывалось вниз. Незнаю как это реализовать.. пробовал написать ф-цию slide , но она никак не хочет работать со stage.height , только горизонтальная прокрутка. onclipevent load и enterframe тоже не дал результатов. Подскажите пожалуйста мошь у кого есть идеи как это реализовать. Фишка в том что меню при подгрузки кнопок меняет размер автоматом и поэтому прокрутка не работает.. мне так кажеться |
|
|||||
Модрон-ветеринар
|
Цитата:
Иначе по сути пост бессмысленный получается. Идеи и реализации много у кого есть, но вопрос в том - что вы хотите? Чтобы вам указали на ваши ошибки в вашем собственном решении или хотите получить готовое решение или пример? На последнее рассчитывать в общем случае нельзя. А на пальцах объяснять идею реализации - для вас из этого мало толку. Иными словами - если у кого-то есть пример - ждите. Или выкладывайте свои недоработки.
__________________
Идите первым! |
|
|||||
Регистрация: Jun 2012
Сообщений: 5
|
Вот этот код внизу подгружает в мувик(меню новостей) данные из xml и создает кнопку на каждую нужную строчку из xml.
Мне нужно сделать так, что бы менюшка эта прокручивалась. (автоматический скролинг on mouse move).Учитывая размер мувика 100 на 100, скролинг тоже будет прокручивать только максимальный размер этого мувика (y = 100) а после подгрузки xml, мувик становиться например 100 на 500. И я не понимаю как можно синхронизировать прокрутку с постоянно увеличивающимся размером мувика. function datax() { pathId = x_xml.idMap.menu; totM = pathId.childNodes.length; _root.mRmov = totM; for (i = 0; i < totM; i++) { var _loc3 = i + 1; var _loc4 = i - 1; this["btn" + i].duplicateMovieClip("btn" + _loc3, i); this["btn" + _loc3]._y = this["btn" + i]._y + 140; this["btn" + _loc3]._bname._txt = pathId.childNodes[i].firstChild.nodeValue; this["btn" + _loc3]._p = pathId.childNodes[i].attributes.p; this["btn" + _loc3]._f = pathId.childNodes[i].attributes.f; this["btn" + _loc3]._h = pathId.childNodes[i].attributes.h; } } function executeCallback() { if (i == totM) { clearInterval(intervalID); _parent._bg._width = _parent._xmlMenu._width - 120; _parent._bg._height = _parent._xmlMenu._height + 17; _parent._titlex._bg._width = _parent._bg._width; ww = Math.round(_parent._bg._width); hh = Math.round(_parent._bg._height); Mdata(ww, hh); onEnterFrame = function () { this["btn" + k]._alpha = 100; this["btn" + k].gotoAndPlay("2"); ++k; if (k == totM + 1) { onEnterFrame = null; } }; } } stop (); k = 1; totM = 0; highMW = []; var highW = 0; _root.mRmov = 0; x_xml = new XML(); Dir = "Data/xml/"; file = "news"; x_xml.load(Dir + file + ".xml"); x_xml.ignoreWhite = true; x_xml.onLoad = function (ok) { if (ok) { _parent._xmlMenu._visible = true; _parent._load._visible = false; datax(); } }; var intervalID = setInterval(this, "executeCallback", 30); Последний раз редактировалось mooncar; 18.06.2012 в 13:33. |
|
|||||
Модрон-ветеринар
|
Shutdown, код оформляется тегами. Будьте внимательнее к правилам форума.
__________________
Идите первым! |
|
|||||
Регистрация: Jun 2012
Сообщений: 5
|
Всё разобрался. Скролл не работал из-за постоянно увеличивающегося мувика. Проблема решилась созданием пустого динамического поля в этом мувике, с присвоением координат. (может кто столкнется ещё с подобной проблемой) Здесь не весь код, а сама идея.
|
Часовой пояс GMT +4, время: 00:48. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|