Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Горизонтальный скроллер(слайдер) из аватарок тормозит. (http://www.flasher.ru/forum/showthread.php?t=139874)

Art_133 13.05.2010 17:21

Горизонтальный скроллер(слайдер) из аватарок тормозит.
 
Привет. Делаю тестовое приложение для ВКонтакте. Простое до ужаса, но появилась проблема. Хотел бы посоветоваться с профессионалами.
Суть приложения:
1. Запрошиваю\получаю список uids всех друзей юзера (того кто запустил данное приложение) методом getFriends
2. По этим uids получаю список картинок (аватарок) через getProfiles.
3. Добавляю линки в датапровайдер .После этого добавляю на сцену TileList со скроллингом по горизонтали.
Всё загрузилось и я начинаю скролить... Скроллер зависает, глючит, не прокручивается, если и прокручивается то с огромной задержкой...

Я подумал что дело в количестве фоток, уменьшил их до 10 штук и то-же самое, всё без изменений!
Вопрос вот в чём:
1. нормальное ли это поведение? Если нет то что я не так делаю? Какой кусок кода выложить для наглядности?
2. Если это нормально то какое может быть решение проблемы? Не использовать TileList, создать ячейки для фоток и сделать кнопочки назад вперёд и грузить в эти ячейки нужные фотки (как в приложении Зоопарк)?

П.С. Линк дать не могу т.к. приложение в текстовом варианте и не видно другим юзерам.

BezDelnik 04.06.2010 20:36

у меня похожая проблема была когда я хотел заюзать ScrollPane.. при чем глючило только с включеным контейнером.. попробуй добавить следующее
Код AS3:

stage.dispatchEvent(new Event(Event.DEACTIVATE)); 
stage.dispatchEvent(new Event(Event.ACTIVATE));


RAlfDog 05.07.2010 21:23

Stage не работает с контейнером: http://www.flasher.ru/forum/showthread.php?t=141429

Zebestov 05.07.2010 23:35

во-первых, stage работает с контейнером и разработчики "в контакте" не утверждают его недоступность в скором будущем, а напротив — они пока не уверены, что до этого дойдет.

во-вторых, что это за стремная ссылка от тебя в этой ветке: http://www.flasher.ru/forum/showthread.php?t=141429 :mad:

RAlfDog 06.07.2010 12:13

Цитата:

Сообщение от Zebestov (Сообщение 920151)
во-первых, stage работает с контейнером и разработчики "в контакте" не утверждают его недоступность в скором будущем, а напротив — они пока не уверены, что до этого дойдет.

во-вторых, что это за стремная ссылка от тебя в этой ветке: http://www.flasher.ru/forum/showthread.php?t=141429 :mad:


ВО ПЕРВЫХ, никто не говорит, что stage НЕ РАБОТАЕТ (как может не работать stage - база всего ролика) - ДОСТУПА К НЕМУ НЕТ!!! (если использовать wrapper). По ссылке stage к объекту Stage не добраться!

ВО ВТОРЫХ, за сслыку извиняюсь, вот правильная - http://vk.antizapret.ru/pages.php?o=...er.application

Zebestov 06.07.2010 12:39

Цитата:

ВО ПЕРВЫХ, никто не говорит, что stage НЕ РАБОТАЕТ (как может не работать stage - база всего ролика) - ДОСТУПА К НЕМУ НЕТ!!! (если использовать wrapper). По ссылке stage к объекту Stage не добраться!
тогда объясни работоспособность такого кода внутри контейнера:

Код AS3:

stage.addEventListener(MouseEvent.CLICK, onStageClickHandler);
...
private function onStageClickHandler(e:MouseEvent):void
{
        trace('StageClickYopt!');
}

я это объясняю только тем, что доступ к нему есть.

Цитата:

ВО ВТОРЫХ, за сслыку извиняюсь, вот правильная - http://vk.antizapret.ru/pages.php?o=...er.application
эта "правильная" ссылка та же самая и ведет на сайт, копирующий стиль контакта, и имеет форму входа, что заставляет подозревать тебя в краже аккаунтов сети в контакте у доверчивых или невнимательных посетителей.

RAlfDog 09.07.2010 14:55

Тогда почему
Код AS3:

stage.addEventListener(MouseEvent.MOUSE_MOVE, moveSlide);
stage.addEventListener(MouseEvent.MOUSE_UP, endSlide);
 
private function moveSlide(ev:MouseEvent)
{
            var pos:Number = this.mouseY + mouse_displace - min_pos;
            pos = Math.max(0, pos);
            pos = Math.min((max_pos - min_pos), pos);
            slider.y = pos;
            var event:SlideBarEvent = new SlideBarEvent(SlideBarEvent.SLIDED);
            event.position = getPos();
            dispatcher.dispatchEvent(event);
}
private function endSlide(ev:MouseEvent)
{
            slideRunEvents();
}

такой код не работает с контейнером ???!!!

Ссылка - http://vkontakte.ru/pages.php?o=-1&p...er.application (сам не заметил домен antizapret.ru. Вот ведь. кажется сам воодил там свой логин и пароль, надо поменять)

Zebestov 09.07.2010 15:09

Цитата:

Сообщение от RAlfDog (Сообщение 921018)
Тогда почему
...
такой код не работает с контейнером ???!!!

возьми мой коротенький пример выше. впиши эти строки где угодно в приложении, загружаемом в контейнер. поменяй CLICK на MOUSE_MOVE и MOUSE_UP по очереди. убедись, что доступ к Stage есть. ищи проблему в другом месте.

mayakwd 09.07.2010 19:01

как всё это мило >=)

доступ к stage есть, впишите:
Код AS3:

Security.allowDomain ("*");

после супера базового класса и забудьте про недоступность сцены)

Zebestov 09.07.2010 19:24

mayakwd, у меня и без этого все работает :quiet:


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

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