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

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

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

Регистрация: Jun 2012
Сообщений: 5
По умолчанию Xml + slide + onmousemove

Всем привет. Возник вопрос, никак не могу разобраться.
В общем я сделал xml меню, в котором делается attachMovie кнопки. И размер этого меню зависит от той информации, которая в хмл.. то есть если в хмл 10 строчек, создаёться 10 кнопок. Мне нужно что бы в этом меню было 30 и более кнопок (это раздел новостей), поэтому нужна прокрутка onmouse move. Тоесть существует маска которая показывает допустим 10 кнопок, остальные скрыты. и при наведении мышки нужно чтоб меню пролистывалось вниз. Незнаю как это реализовать.. пробовал написать ф-цию slide , но она никак не хочет работать со stage.height , только горизонтальная прокрутка. onclipevent load и enterframe тоже не дал результатов.
Подскажите пожалуйста мошь у кого есть идеи как это реализовать. Фишка в том что меню при подгрузки кнопок меняет размер автоматом и поэтому прокрутка не работает.. мне так кажеться

Старый 17.06.2012, 18:36
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
"пробовал написать ф-цию slide , но она никак не хочет работать со stage.height", "onclipevent load и enterframe тоже не дал результатов."
Следует приводить проблемный код, если есть подозрение, что там есть ошибки, которые не приводят к ожидаемому результату. А еще лучше выложить исходник (вложить в сообщение).

Иначе по сути пост бессмысленный получается. Идеи и реализации много у кого есть, но вопрос в том - что вы хотите? Чтобы вам указали на ваши ошибки в вашем собственном решении или хотите получить готовое решение или пример? На последнее рассчитывать в общем случае нельзя. А на пальцах объяснять идею реализации - для вас из этого мало толку.
Иными словами - если у кого-то есть пример - ждите. Или выкладывайте свои недоработки.
__________________
Идите первым!

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

Регистрация: Jun 2012
Сообщений: 5
Вот этот код внизу подгружает в мувик(меню новостей) данные из xml и создает кнопку на каждую нужную строчку из xml.
Мне нужно сделать так, что бы менюшка эта прокручивалась. (автоматический скролинг on mouse move).Учитывая размер мувика 100 на 100, скролинг тоже будет прокручивать только максимальный размер этого мувика (y = 100) а после подгрузки xml, мувик становиться например 100 на 500. И я не понимаю как можно синхронизировать прокрутку с постоянно увеличивающимся размером мувика.


Код AS1/AS2:
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.
Старый 18.06.2012, 13:34
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Shutdown, код оформляется тегами. Будьте внимательнее к правилам форума.
__________________
Идите первым!

Старый 19.06.2012, 15:21
Shutdown вне форума Посмотреть профиль Отправить личное сообщение для Shutdown Найти все сообщения от Shutdown
  № 5  
Ответить с цитированием
Shutdown

Регистрация: Jun 2012
Сообщений: 5
Всё разобрался. Скролл не работал из-за постоянно увеличивающегося мувика. Проблема решилась созданием пустого динамического поля в этом мувике, с присвоением координат. (может кто столкнется ещё с подобной проблемой) Здесь не весь код, а сама идея.
Код AS1/AS2:
text._y = movie._y + 20;

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

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

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


 


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


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