2008-11-20 3 views
0

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

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

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

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

ответ

0

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

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

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

+0

Недостаток понимания не делает что-то дурацкое. – Aaron 2010-10-06 23:09:21

0

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

setChildIndex(myTextField, numChildren - 1); 
0

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

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

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

Это положило бы векторную форму под текстовое поле.

0

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

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