如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Flashmx使用手记六FlashMX的文本区的应用我们昨天已经第一次亲密接触了,今天我们再续前缘(言),深入了解一些文本区的属性和方法,并通过TextFormat对象来装修文本的样式。在昨天的大米试验中,虽然经测试还是有一些矛盾存在,不过这个方向是对的,我们继续给它添砖加瓦://makeboxMovieclip.prototype.makeBox=function(x,y,l){this.lineto(x,y+l);this.lineto(x+l,y+l);this.lineto(x+l,y);this.lineto(x,y);};//preparescrolltemplatecreateEmptyMovieClip("scrollUp",2);with(scrollUp){lineStyle(1,0x999999,50);moveTo(550,200);beginFill(0x345678,20);makeBox(550,200,30);endfill();}//makescrollduplicateMovieClip(scrollUp,"scrolldown",3);scrollUp._y-=60;//handlermethodscrollUp.onPress=function(){txt.scroll--};scrollDown.onPress=function(){txt.scroll++};//preparetextcreateTextField("txt",1,300,10,100,200);with(txt){type="input";textcolor=0x333333;variable="tempcache";border=wordwrap=1;restrict="^demons";}//custommethodtxt.onSetFocus=function(){trace("Readyforloadingrice");txt.text=""};txt.onkillFocus=function(){trace("Gocha...");txt.putRice(200,"::::~")};txt.putRice=function(count,food){if(count){txt.text+=food;arguments.callee(--count,food);}return;};//starttxt.putRice(200,".");txt.putRice(200,".");txt.putRice(200,".");阿,有没搞错?这么长?晕阿。也许有的人刚吃完早饭会这样说……但是这确实是不可分解的一个整体,我们只能慢慢坐下来分析,其实我用到的一些部分代码基本都是这些天我们所接触的,尤其是MakeBox和我改进后的putRice装米器(经改进现在已经可以装载任何粮食)这个例子直接的说明了很多对象的用法,例如在FlashMX中可以用ActionScript动态新建的Button对象,是我们给予onPress后的副作用(当移动上去会出现手,既是已经变成了Button对象);而其实基本上很多在FlashMX的对象都会有部分或全部MovieClip对象的proto继承。TextField也是其中之一,如果在TextField不为Input的时候,我们也可以设置_alpha、_rotation等MovieClip属性,这就很好的沿用了Movieclip的特性。对于textField中的restrict和variable属性,这些其实都不算是新的属性,在以前的版本,我们都可以通过面板来对他们进行控制,而此次我们只是简化了对其操作的方法,restrict是十分好用的,其基本功能是限制字符串的输入,不过也有别的用途,例如我们上面的例子restrict=”^english”设定了只可以输入字符,但遇到用户输入english其中之一的时候就会把它们大写,既是uppercase;控制输入范围是用“-”连接两个范围界限字符,但如果你要输入^或者\这样的字符的时候,你需要做的只是加入\在他们的前面(\^和\\);变量variable则同样是以前的变量属性,指定了一个变量和该text内容相关联。textField的事件主要有4种:onsetfocus/onkillfocus、onchanged、onscroller。前两种处理焦点的激活和丢失事件,onchanged响应文本内容的变化事件,onscroller则响应滚动条拉动的事件。最后程序正常运行,当你开始的时候,看到一个仓库里面有很多米(真的很多,600斤),但却不知道其数量多少,你不得不拉动你的滚动闸来看看这个仓库里面到底有多少米,而米实在是不好区分