Как включить содержимое HTML поверх содержимого Flash без снижения частоты кадров? - PullRequest
3 голосов
/ 25 января 2010

Я разрабатываю приложение Flash, которое взаимодействует с Javascript, чтобы предоставить больше возможностей, таких как пользовательский ввод HTML и т. Д., Помещая div с абсолютным позиционированием поверх приложения Flash и контролируя его положение и т. Д. С помощью Flash & Javascript.

Поскольку эти html-элементы должны отображаться над содержимым Flash, я подумал, что для выполнения этой задачи будет достаточно следующего базового CSS:

#flashContent {
                position: absolute;
                left: 0px;
                top: 0px;
                z-index: 0;
            }
            #htmlContent {
                position: absolute;
                left: 200px;
                top: 200px;
                z-index: 1;
                width: 200px;
                height: 200px;
                background-color: yellow;
            }

Таким образом, htmlContent имеет более высокий z-индекс, чем содержимое флэш-памяти, и, следовательно, он должен быть показан над ним. К сожалению, кажется, что это работает только тогда, когда вы устанавливаете параметр wmode объекта Flash в значение «transparent».

Проблема с этим параметром заключается в том, что он серьезно снижает частоту кадров приложения до недопустимого значения.

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

Итак, как включить html-контент поверх флэш-содержимого без использования «прозрачного» параметра wmode или как оптимизировать частоту кадров при использовании «прозрачного» параметра wmode?

Ответы [ 3 ]

2 голосов
/ 25 января 2010

Вы можете использовать wmode = 'opaque' и по-прежнему использовать z-index'ing. Прозрачный может быть очень глючным.

0 голосов
/ 21 декабря 2010

не используйте абсолютное позиционирование. плавать это.

0 голосов
/ 25 января 2010

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

...