繁体中文
设为首页
加入收藏
当前位置:网站制作首页 >> Flash教程 >> 为输入文本对象做实用的即时提示

为输入文本对象做实用的即时提示

2007-10-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:这是给一个闪友回答问题时写的一个东东.觉的还很实用.所以写出方法与大家一同分享. 先来看一个效果. 这个效果制作过程并不是我们要讲的内容. 点击浏览该文件 http://www.Flash8.net/bbs/UploadFile/2004-12/200...

这是给一个闪友回答问题时写的一个东东.觉的还很实用.所以写出方法与大家一同分享.

先来看一个效果.

这个效果制作过程并不是我们要讲的内容.

点击浏览该文件

http://www.Flash8.net/bbs/UploadFile/2004-12/20041231185630630.swf

这是本教程中所讲的效果:

点击浏览该文件

http://www.Flash8.net/bbs/UploadFile/2004-12/2004123119152814.swf

我们只来讲即时提示是如何产生的.至于如何应用这个即时提示,请各位自已动手作一个吧.

Flash版本:FlashMX

涉及内容:文本对象,hitTest();命令, startDrag();命令等.

虽然说利用鼠标事件也能够实现即时提示.但是对于此例,如果用on ()事件处理函数,那输入文本框是不能够输入字符了.因为此时MC实例将被作为一个按钮来使用.(呵呵,,我是这样认为滴.)会显示一个手形.我们没法对文本进行操作.

那我们怎么样来实现当鼠标位于输入文本上时进行即时提示呢?

1,打开FlashMX后.新建一个影片剪辑,取名叫”文本”,如图1:

screen.width-333)this.width=screen.width-333" border=0>

确定后在打开的新窗口中用文本工具创建一个”输入文本”对象,然后给它起一个实例名叫txt,方便我们以后对它的引用.如图2

screen.width-333)this.width=screen.width-333" border=0>

在上图中看到.我们选择了”在文本周围显示边框”,”单行”文本,你还可以通过点击”字符”按钮在弹出的对话框中限制输入文本能够输入的字符,并在”最多字符”选项处可以限制输入文本能够输入的最大字符数..,0为无限制

2.完成了第一步后我们就再来新建一个MC(按下ctrl+F8),起名叫提示,如图3

screen.width-333)this.width=screen.width-333" border=0>

在打开的新窗口中再创建一个适当大小的”动态文本”对象,并将它放置到注册点的左下角位置,给它起实例名叫”ts”,并在属性面板中设置如图4

screen.width-333)this.width=screen.width-333" border=0>

我们选中了”在文本周围显示边框”,并选为”多行”.我们要用这个文本来显示提示信息,而提示信息又随着移到的对象不同显示内容也不同,所以我们要让这个文本按提示消息的字符的多少自动缩放大小,还可能设置这个文本的其它属性,那我们就要在时间轴上给你加入以下代码:选中图层1上的第一帧,按下F9,在动作面板中输入:

ts.autoSize=true;//自动调整文本对象大小.

ts.borderColor="0xff0000";//指定文本边框颜色

ts.backgroundColor="0xD7FC03";//指定文本对象的背景颜色 如图5

screen.width-333)this.width=screen.width-333" border=0>

3.回到主场景中,将库中的”文本”与”提示”MC拖到主场景中来,我们的例子是用”文本”MC输入用户名,所以场景中在它左边放一个说明文本.(一个静态文本就可以了),如图6:

screen.width-333)this.width=screen.width-333" border=0>

分别选中这两个MC在属性面板中为它们分别起实例名:”文本”MC起名为”user”,”提示”MC起名为”tishi”,如图7—图8

screen.width-333)this.width=screen.width-333" border=0>screen.width-333)this.width=screen.width-333" border=0>

选中主时间轴的第1帧,按下F9在动作面板中输入以下代码:

onEnterFrame=function(){

if(user.hitTest(_root._xmouse,_root._ymouse,true)){

startDrag(tishi,true);

tishi.ts.text="用户名最大长度限制8个字符.只能写入大小写字母和数字\r\n"+

"您输入的用户名为:\r\n"+user.txt.text+"\r\n确定吗?";

tishi._visible=true;

}else{

_root.tishi._visible=false;}

}

CTRL+回车--------测试吧.!

通过上面的方法你就可以作出一开始我们看的那个实例效果了,接下来就看你的了…如果有什么疑问可以参考压缩包里的源文件或是跟帖.发挥自己的想像吧…..

压缩包(内有教程,两个实例源文件及效果)

点击浏览该文件

你也可以将下面代码替换上面的代码看一下效果有何不同.

startDrag(tishi,true);

tishi._visible=false;

user.onRollOver=function(){

tishi.ts.text="用户名最大长度限制8个字符.只能写入大小写字母和数字\r\n"+

"您输入的用户名为:\r\n"+"user.txt.text"+"\r\n确定吗?";

tishi._visible=true;

};

user.onRollOut=function(){

tishi._visible=false;

};

user.onReleaseOutside=function(){

tishi._visible=false;

};

责任编辑:admin
相关文章