Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Обновление мувиклипа (на TV) (http://www.flasher.ru/forum/showthread.php?t=184368)

ISergey 17.09.2012 18:43

Обновление мувиклипа (на TV)
 
Добрый день, помогите, пожалуйста, советом.

стоит цель: при определенном событии (клавиша мыши, кнопка, скрипт из вне, не суть важно) скрывать одну картинку и показывать другую.
На ПК все ОК.
Проблема: при запуске на TV (большой экран, медленный проц) перерисовка не происходит, или прерисовываетcя только часть картинок.

Итак:
Создаю пустой клип (контейнер под картинки):
Код AS1/AS2:

parentmc = _root.createEmptyMovieClip("mcNavigationPanel", _root.getNextHighestDepth())

гружу в него две картинки
Код AS1/AS2:

buttonPlay = parentmc.attachMovie("library.play.png", "buttonPlay", parentmc.getNextHighestDepth());        
buttonPause = parentmc.attachMovie("library.pause.png", "buttonPause", parentmc.getNextHighestDepth());

на событие клавиши или внешнего скрипта скрываю одну и показываю другую
Код AS1/AS2:

buttonPlay._visible = false;
buttonPause._visible = true;

итого, как написано в проблеме, смены картинок не происходит.
все изменения на сцене происходят по таймеру
Код AS1/AS2:

setInterval(Delegate.create(this,FOnEnterFrame), 40);

с вызовом в конце
Код AS1/AS2:

updateAfterEvent();

либо привязкой к EnterFrame (эффекта нет ни так ни так)

как вариант, пробовал выносить картинки за пределы сцены (-10000px) (результат тот же)

Весь проект во flashdevelop (as2).

буду благодарен за любой совет.

Добавлено через 17 часов 12 минут
помог костыль: фоновый Textfield заставляет перерисовывать область корректно.
помогите избавиться от костыля))

Hauts 18.09.2012 12:54

Очень специфичная задача, сложно представить, по каким причинам такое может происходить.

Вроде в коде все верно. Попробуйте вывести на экран версию фп и на компе в такой же версии плеера потестить.

ISergey 18.09.2012 13:26

на компе хватает мощностей - все летает.
впечатление такое, что флеш игнорирует эту область для перерисовки.

Добавлено через 4 минуты
подсветка областей изменения задачу ясней не сделала ( на телике дебажную не запущу

Hauts 18.09.2012 13:38

Так и не нужно дебажный запускать на телеке. Просто в текстовое поле версию фп выведите и посмотрите, какая она. А потом уже и разбираться можно, почему такое происходит.

ISergey 18.09.2012 15:19

8-я (под нее и код)

Добавлено через 1 минуту
попробовал снизить обновление экрана до 2фпс в сек. суть дела не изменилась.
перерисовка идет либо поверх фоновый текстфилд, либо если движется контейнер, хранящий эти картинки

Hauts 18.09.2012 16:01

Код AS1/AS2:

container.onEnterFrame = function(){
    this._x = Math.random() / 100;
    this._y = Math.random() / 100;
}

Может что-нибудь такое поможет?)

ISergey 18.09.2012 16:15

такой костыль был предыдущий))
при большем количестве объектов дергать каждый совсем не хочется(

Hauts 18.09.2012 16:22

Ну.... можно флаг менять какой-нибудь, который обозначает необходимость обновления экрана.

ISergey 18.09.2012 16:40

так сейчас проблема в том, что он как раз и не хочет обновлять( хотя должен был.


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

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