FlashActionScript3.0事件的关联行为

事件的关联行为我们再来看一下事件的关联行为。有些事件在执行当中有所谓的关联行为,比如MouseEvent.CLICK就是鼠标点击事件,它有一个关联行为,当鼠标点击显示场景当中的对象的时候,同时也会把焦点移给对象。我们有一个焦点的概念,就是当前的焦点是哪个对象,这种移动焦点的操作就是关联行为。还有,比如说TextEvent中有一个输入文本的,叫TextEvent_INPUT这么一个事件。当输入字符的时候呢,会在文本框显示输入的字,这个也是称为关联行为,本身它并不是事件触发的一个逻辑上的行为,但是它是符合您的操作习惯的。所以有很多事件在flashplayer里边设置了关联行为,当你做了一个操作之后,它有关联的操作或显示会触发。如果您有兴趣的话,可以查阅一下actionscript3.0的API文档,它里边有很多属性,其中事件属性里边有一个cancelable,就是是否可以取消,如果为true的事件,他都是有关联行为的,可以使用一个方法叫PreventDefault方法来阻止切断这种关联行为的触发逻辑,就是我不需要它去触发这个逻辑了。我们来看一下具体的例子。代码比较长,我一句一句向大家讲解。首先我在前面代码中声明很多具体的变量。第一个变量s,它是一个显示类,这个Sprite实际上是为我后面的文本框作为一个容器。然后,我们接着声明了一个t,t是一个TextField,是一个文本框。然后我们设置了一个i,i是一个number,初始值是0,它用来存储需要输出的文本框上的数值的索引。紧接着,我们还有一个字符串变量myText,这个myText里边实际上是存储了比较多的字符串,我们可以看到就是一段话。需要注意的就是,在里边的/n,就是我输入到TextField文本框里边的时候是会转译为换行符的。接下来是是t的属性,t.wordWrap是否允许文本换行,t.border是否允许文本框有框线,t.background是否要设置背景。然后呢,我还要设置一个stage.focus,就是当前的焦点,为什么要设置呢?因为如果我不设置的话,那当前的焦点可能不是我们要输入的文本框,当我们在键盘上敲击一些按键的时候,有可能并不是输入到文本框当中,设置了之后呢我们可以让你一开始不需要点击或转换当前的焦点就能在文本框输入文字。然后t.backgroundColor=0xffffff我设置了文本框的显示背景颜色,六个f代表它的RGB颜色是256,本身代表颜色是纯白色。然后t.x、t.y、t.width、t.height是分别设置了它的x轴坐标,y坐标,宽,高。然后我再设置文本框的类型,t.type=TextFieldType_INPUT,INPUT是允许输入文本框。然后通过s.addChild(t);添加显示对象的方法把它加到s里面去,s就是我们最先声明的Sprite。然后addChild(s);加载到当前的舞台上来。紧接着,我们用文本框t来侦听TextEvent.TEXT_INPUT这个事件,然后我们把侦听器注册为tListener。然后是我们定义侦听器,侦听器接收的是Event。首先注意,e.preventDefault();是阻止关联行为的方法。我每次敲击下按键输入的时候,我能够侦听到TextEvent.TEXT_IPUNT,相应的会显示我输入的字,这个作为一个关联行为,现在我阻止了这个默认关联行为。然后e.target实际上指的是我注册的这个t。然后我在e.target里面执行了一个appendText,就是执行文本扩展,在第i个的字符,就是每次我点击一下键盘,我希望输入一个字符的时候,首先不显示这个字符,然后在我要显示的文本当中添加一个myText里边的第i个字符,我们知道i的初始值是0,现在就是第0个字符,对应那些字符串里边的第一个字符,因为字符charAt也是从0开始索引的。然后我们来看e.target.setSelection.这个本身是设置一个鼠标插入光标,我们把插入光标放在新输入的字符的后边。然后是我们更新一下i,i每次递增1。我们来看一下实际的运行结果。大家看舞台当中有一个文本框的,如果我胡乱敲击键盘上随便一个字符,大家可以看到,它都会直接输出已经预制好的内容,好像我是在很流利的打字,但实际上这是已经预制好的一个内容。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?