Векторная форма на сцене появляется над динамическим текстовым полем - PullRequest
0 голосов
/ 21 ноября 2008

Субъект в значительной степени объясняет все это. Я начинаю с первого кадра MovieClip с растровым изображением, охватывающим всю сцену.

Затем, когда пользователь нажимает кнопку, он переходит ко второму кадру, и векторная форма появляется на сцене, покрывающей часть изображения. В то же время с помощью кода я помещаю поле ввода Text на сцену.

Проблема в том, что динамически создаваемое текстовое поле появляется под векторной формой (которая была нарисована на сцене)! Кажется, это проблема, которая является новой для ActionScript 3, поскольку у меня не было этой проблемы с Flash CS3 и ActionScript 2.

Я пытался поместить текстовое поле на разные слои, но безрезультатно. Как заставить текстовое поле появляться над векторной формой?

Ответы [ 4 ]

0 голосов
/ 08 декабря 2008

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

Проще всего избежать этой проблемы. Одним из способов может быть создание пустого фрагмента ролика (на сцене, во время разработки) в качестве держателя для текстового поля, его наложение на слои, где вы хотите, и создание текста внутри него во время выполнения. Другое решение состоит в том, чтобы создать либо вектор, либо текстовое поле (или оба) в кадре 1, но оставить его / их невидимым до тех пор, пока это не потребуется.

0 голосов
/ 21 ноября 2008

Я уже пробовал это. Это такие дурацкие вещи, которые мешают мне перенести мои фреймворки на AS 3.

Я решил, что проблема как-то заключается в том, как Flash отображает то, что находится на сцене. При вызове some_mc.play(); вводит новые объекты на сцену, в то же время программно помещая другие объекты на сцену, объекты, которые были помещены на сцену вручную, всегда будут отображаться непосредственно поверх любых программно созданных объектов. Это может быть не у всех, но это то, что я вижу.

Мое решение: позвоните some_mc.play();, подождите 10 мс, а затем разместите другие объекты на сцене.

0 голосов
/ 29 ноября 2008

Вы можете попробовать добавить векторную форму через код, а затем добавить текстовое поле.

var vectorShape:Sprite = new Sprite();  
addChild(vectorShape);

var textField:TextField = new textField();  
addChild(textField);

Это поместит векторную форму ниже текстового поля.

0 голосов
/ 21 ноября 2008

Поместите векторную форму в мувиклип. Затем позвоните:

setChildIndex(myTextField, numChildren - 1);
...