AS3 create component using Flash CS4

最后都变了- 提交于 2019-12-08 12:45:54

问题


I would like to create a basic component consisting of a textbox and a label next to it (in other words an InputText and a StaticText).

I only need to set and get the text in the Input textbox, the static text will stay as is.

Any help would be highly appreciated! Jasco


回答1:


This sounds a bit vague.

You could have two TextFields inside a Sprite, something like:

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;
        }
    }
}

Or you could go the full length and develop a proper flash component, this where this long article will come in handy.

The Yahoo! Astra components library has some nice components you could use though.

The 'easiest' version is to use a Label and TextInput component, place them inside a MovieClip and create a Component Definition:

  1. Add the Label and TextInput Components in a MovieClip
  2. Name the Label instance:

  1. Name the TextInput component

  1. Right click the Movie Clip in the library and select Component Definition:

  1. Define the properties you want to modify, like label and input in the Component Definition Panel:

  1. Link the defined properties to the components with a bit of actionscript:

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

Goodluck!



来源:https://stackoverflow.com/questions/2012519/as3-create-component-using-flash-cs4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!