AS3使用Flash CS4创建组件

0 flash actionscript-3 custom-component flash-v3-components

我想创建一个基本组件,由一个文本框和旁边的标签组成(换句话说,一个InputText和一个StaticText).

我只需要在Input文本框中设置并获取文本,静态文本将保持原样.

任何帮助将非常感谢!的Jasco

Geo*_*nza 5

这听起来有点模糊.

你可以在Sprite中有两个TextFields,例如:

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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

或者你可以全力以赴开发一个合适的闪存组件,这篇文章将会派上用场.

雅虎 Astra组件库有一些很好的组件,你可以使用它们.

"最简单"的版本是使用Label和TextInput组件,将它们放在MovieClip中并创建组件定义:

  1. 在MovieClip中添加Label和TextInput组件
  2. 将Label实例命名为:

标签

  1. 命名TextInput组件

输入

  1. 右键单击库中的Movie Clip并选择Component Definition:

组件定义1

  1. 定义要修改属性,例如"组件定义"面板中的标签输入:

组件定义2

  1. 使用一些actionscript将定义的属性链接到组件:

    if(this.label)labelComponent.text = this.label; if(this.input)inputComponent.text = this.input;

祝好运!