AS3 создать компонент с помощью Flash CS4
Я хотел бы создать базовый компонент, состоящий из текстового поля и метки рядом с ним (другими словами, InputText и StaticText).
Мне нужно только установить и получить текст в поле ввода ввода, статический текст останется как есть.
Любая помощь будет высоко оценен! Приборостроительная
1 ответ
Это звучит немного расплывчато.
Вы можете иметь два TextFields внутри Sprite, что-то вроде:
package {
import flash.display.*;
import flash.text.*;
/**
* @author georgeprofenza
*/
public class FormItem extends Sprite {
private var _label:TextField;
private var _input:TextField;
public function FormItem() {
init();
}
private function init():void{
_label = new TextField();
_label.defaultTextFormat = new TextFormat('Arial',12,0x000000);
_label.selectable = false;
_input = new TextField();
_input.defaultTextFormat = new TextFormat('Arial',12,0x000000);
_input.type = TextFieldType.INPUT;
_input.border = true;
_input.x = _label.width + 5;
addChild(_label);
addChild(_input);
}
public function get labelText():String{
return _label.text;
}
public function get inputText():String{
return _input.text;
}
public function set labelText(text:String):void{
_label.text = text;
_input.x = _label.width + 5;
}
public function set inputText(text:String):void{
_input.text = text;
}
}
}
Или вы можете пойти на полную и разработать надлежащий компонент флэш-памяти, вот где эта длинная статья пригодится.
Yahoo! Библиотека компонентов Astra имеет несколько хороших компонентов, которые вы можете использовать.
Самая простая версия - использовать компоненты Label и TextInput, поместить их в MovieClip и создать определение компонента:
- Добавьте компоненты Label и TextInput в мувиклип
- Назовите экземпляр Label:
- Назовите компонент TextInput
- Щелкните правой кнопкой мыши мувиклип в библиотеке и выберите "Определение компонента":
- Определите свойства, которые вы хотите изменить, такие как метка и ввод на панели определения компонентов:
Свяжите определенные свойства с компонентами с помощью небольшого количества ActionScript:
if (this.label) labelComponent.text = this.label; if (this.input) inputComponent.text = this.input;
Удачи!