AS3 Crie componente usando flash cs4
-
19-09-2019 - |
Pergunta
Gostaria de criar um componente básico que consiste em uma caixa de texto e um rótulo ao lado (em outras palavras, um InputText e um StatictExt).
Eu só preciso definir e obter o texto na caixa de texto de entrada, o texto estático permanecerá como está.
Qualquer ajuda seria muito apreciada! Jasco
Solução
Isso parece um pouco vago.
Você poderia ter dois campos de texto dentro de um sprite, algo como:
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;
}
}
}
Ou você pode ir ao comprimento total e desenvolver um componente flash adequado, este onde este é Artigo longo Vai ser útil.
o Yahoo! Biblioteca Astra Components tem algum bons componentes você poderia usar embora.
A versão 'mais fácil' é usar um componente de etiqueta e textinput, coloque -os dentro de um Movieclip e criar uma definição de componente:
- Adicione o rótulo e os componentes do TextInput em um Movieclip
- Nomeie a instância do rótulo:
- Nomeie o componente textinput
- Clique com o botão direito do mouse no clipe do filme na biblioteca e selecione Definição de componentes:
- Defina a propriedades você quer modificar, Curti etiqueta eentrada No painel de definição de componentes:
Vincule as propriedades definidas aos componentes com um pouco de ActionScript:
if (this.label) labelComponent.text = this.label; if (this.input) inputComponent.text = this.input;
Boa sorte!