2009-04-25 5 views
0

Я создал графику в Flash CS4, которая содержит текст. Я вложил соответствующие символы, а затем сохранил его как MovieClip в свою библиотеку. Затем я экспортировал его в файл SWC.Flash AS3 - как установить Импортированное текстовое поле movieclip as unselectable

В моем коде AS3 (используя Flex SDK/блокнот) я затем импортирую мувиклип и назначаю ему некоторые события мыши, поэтому я могу использовать его как кнопку.

К сожалению, все импортированные таким образом текстовые объекты имеют курсор мыши «I», и текст можно выбрать. Это крадет фокус с моего флеш-приложения и не очень хорошо!

Я знаю, когда у меня есть текстовое поле, я могу:

var myButton:TextField = new TextField(); 
myButton.MouseEnabled = false; 

Но это не имеет никакого эффекта, когда это Movieclip я импортируя:

var myButton:MovieClip = new MyImportedButtonGraphic(); 
myButton.MouseEnabled = false; // No effect 

// Plus some other things I learned: 
myButton.selectable = false; // also no effect 
myButton.MouseChildren = false; // No effect 

Что я делаю неправильно?

ответ

3

В режиме вспышки выберите textField, перейдите на панель свойств и снимите отметку с кнопки, в которой есть символы Ab. Это останавливает выбор текста.

+0

Отлично! . Обслуживает меня правильно, не узнав, как использовать Flash IDE. :( –

1

Если вы устанавливаете мувиклип, в котором текст не должен быть включен, вам необходимо установить для него как пропозиции, так и mouseEnabled и mouseChildren. mouseEnabled означает, что этот конкретный видеоклип не может получать события мыши, но не влияет на дочерние ролики (например, текстовое поле внутри него). mouseChildren означает, что дети не регистрируют события мыши, они просто отправляются от родителя. Чтобы полностью отключить его, BOTH должен быть ложным.


var myButton:MovieClip = new MyImportedButtonGraphic(); 
myButton.mouseEnabled = false; 
myButton.mouseChildren = false; 

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

+0

Я добавил MouseEnabled = false; MouseChildren = ложь; на мою кнопку и курсор редактирования «I» все еще появляется, и я все еще могу выделить текст. :( –

+1

И это потому, что это mouseEnabled и mouseChildren (с учетом регистра). Это полностью отключит клип и всех детей. Все, что вы сделали, это создать 2 новых свойства в клипе, которые не имеют реального эффекта. –