文本是as中经常用到的对象。下面分几方面详细说说有关文本的知识,作为对近段学习的一个总结。同时,希望对正在钻研as的朋友有所帮助。
一、有关文本的几个概念
1、文本字段:文本字段是舞台上的可见元素,要通过它向用户显示文本,可使用文本工具或使用 ActionScript 代码创建。简单地说,文本字段就是俗话说的“文字” 。 2、文本:是可在文本字段或用户界面组件中显示的一个或多个字符串系列。 文本与文本字段是两个既有联系又相互区别的两个重要概念。 1、区别:文本所包含的元素有文本框的边框、背景、在舞台上的位置、尺寸大小、里面文字的格式等等。在as中用TextField类的命令来定义。文本字段的元素包含文字的大小、颜色、对齐方式、字体等,在as中用TextFormat类命令来定义。 2、联系:实践中总是通过TextFormat定义好文本格式,然后把这种格式应用于TextField定义的文本。 文本格式设置可应用于文本字段,或文本字段中的某些字符。可应用于文本的一些文本格式设置选项示例有:对齐、缩进、粗体、颜色、字体大小、边距宽度、斜体和字母间距。 二、文本对象的类型type
文本对象共有三种类型:
1、静态文本:常用于显示程序运行过程中保持不变的文本。静态文本一般不需要用as控制。 2、动态文本("dynamic"):常用于在运行过程中内容需要变化的文本。用户不能编辑动态文本的内容。动态文本例如:游戏结束后,显示用户得分和评价的文本,是动态文本。因为每个用户在玩游戏的过程中,表现是不同的,所以评价也就不同。 3、输入文本("input"):与用户交互,由用户输入内容的文本。例如:登录各种网页之前输入的用户名和密码等等等。 对于用代码创建的文本my_txt,可以通过定义type来设置其类型: my_txt.type="dynamic"-------定义为动态文本; my_txt.type="input"-------把my_txt定义为输入文本。 输入文本又有两种类型,明码和密码。可以 通过设置password的布尔值完成。 my_txt.password=true;-------输入的文字显示为密码形式; my_txt.password=false;------明码显示。 三、文本创建(TextField)
1、创建一个空白文本 文本类对象不属于顶级对象,想使用时需要先创建: _root.creatTextField(参数1,参数2,参数3,参数4,参数5,参数6) 参数1是用字符串String表示,加双引号。用于在舞台上给创建的文本命名。一般用my_txt命名。 参数2是数值型变量,用于设置文本的深度。 参数3和4分别用于设置它在舞台上横坐标与纵坐标; 参数5和6分别用于设置它在舞台上的宽和高。 可见,在创建的同时,文本的实例名称、深度、位置、宽高都已经定义好了。 2、设置文本格式 /**********要定义文本的其它格式,需要先创建一个文本格式对象************/ my_fmt=new format(); 定义文本格式对象时,可以不填参数。 四、具体定义已经创建的文本格式对象的各个属性
1、/*****设置边框*************/ my_fmt.border=true;//显示边框,为假时表示不显示边框 my_fmt.borderColor=0x******;//设置边框颜色 2、/********设置背景***********/ my_fmt.backbround=true;//显示背景,为假时表示不显示边框 my_fmt.backbroundColor=0x******; 3、/*******设置字体***********/ my_fmt.font="String"//用一个字符串串表示希望采用的字体。只能定义系统自带的字体。 4、/**************设置对齐方式***********/ my_fmt.align="String"; //String有几种形式 my_fmt.align="T"**********表示顶对齐,居中 my_fmt.align="B"**********表示底对齐,居中 my_fmt.align="L"**********表示居中,左对齐; my_fmt.align="R"**********表示居中,右对齐; my_fmt.align="TL"*********表示顶对齐,左对齐; my_fmt.align="TR"*********表示顶对齐,右对齐; my_fmt.align="BR"*********表示底对齐,右对齐; 规律:T是tip的缩写,表示“顶”;“L”是light的缩写,表示“左”;“B”是bottom的缩写,表示“底”。“R”是right的缩写,表示“右”。当对齐方式是一个大写字母表示时,默认情况下垂直位置是居中 ,字母表示水平位置。 5、设置文字颜色 my_fmt.color=0x******; 6、设置字号 my_fmt.size=Number; //设置想要的字号 五、文本调用文本格式
my_txt.setTextFormat(my_fmt)//文本里的文字设置为由my_fmt设置的文本字段格式 六、几种技巧
1、登录页面 登录页面通常有“用户名”name、“密码”(password)两个文本框和一个验证按钮组成。其代码一般是: /*******用户名和密码都是输入文本框,分别命名为name_txt和password_txt 时间轴代码: var str1:String="pp";var str2:String="1166";password_txt.password=true; function yanzheng(x,y){ if(x==str1$$y==str2){_root.gotoAndStop(2)} } 跳转按钮代码: go_btn.onRelease=function(){ name_txt.text=str1; password_txt.text=str2 } 有了这样的代码,当点击go按钮时,如果用户名和密码是匹配的,那么就会跳转到应用页面,否则 就要求重新输入用户名和密码。 2、游戏中判断用户操作情况的动态文本的定义 在结束帧有个文本实例名为my_txt,代码如下: my_txt.type="input"; jieshu_btn.onRelease=function(){ if(yonghudefei>10){my_txt.text="恭喜你,过关了!"}; if(yonghudefen<10){my_txt.text="遗憾,请继续努力!"} }
文本的事件处理函数相对于其它对象而言比较简单,只须四种: 1、onChange:当文本的内容发生改变时调用。所谓文本内容发生改变,有两种情况:一是文本从没有焦点到有焦点,是个改变:二是对于已经存在的文本,进行剪切、删除等等操作时,也是改变。 2、onKillFocus:当文本失去焦点时调用:光标在文本框没有供输入的光标时,文本框没有焦点; 3、onSetFous:当文本获取焦点时调用:当文本框内有可供输入的光标是,文本框有焦点。 4、onScrollFocus:当多行文本的最顶端行的文本索引发生改变时调用 。