今天和火麒麟老兄讨论文本框的可拖动滑块的制作方法,最终问题得以解决,现大致总结如下: 说明:a)关于动态文本的加载方法,以前说过很多次,不再赘述,不明白的朋友请查看以前的相关帖子! b) 1.第一关键帧动作:
system.useCodepage = true; loadVariablesNum("text.txt", 0);//加载外部的文本; 2.滑块按钮上的AS:
on (press) { startDrag("kuai", true, 150, 105, 150, 290);
} on (release) { stopDrag(); }//简单的拖曳,不需要多说!
3.隐藏在滑块按钮下面的一个MC的动作:
onClipEvent(enterFrame){ this._x=_root.kuai._x; this._y=_root.kuai._y;//让这个MC跟随滑块运动; _root.tt.scroll= int((87/187)*(int(this._y)-102));//这里是关键,其中的数字87表示文本的总行数;187表示滑块的活动范围,通过滑块的位置来控制文本的翻动; 具体的解释见15楼 _root.aa=int(this._y);// 主场景的aa文本框显示滑块的Y坐标; _root.bb=_root.tt.maxscroll;// 主场景的bb文本框显示文本的总行数; _root.cc=_root.tt.scroll;//主场景的cc文本框显示文本的当前第一行行号; }
Password 优化版
对书记的滚动文本做了一个优化 变得简单了: 在第一帧加入:
system.useCodepage = false; loadVariablesNum("text.txt", 0);//加载外部文本
随便建立一个文本框,变量为tt 又随便做一个MC(可以不命名),AS:
onClipEvent (load) { tx = this._x; ty = this._y; ty1 = this._y+200;//设定拖动范围 } onClipEvent (enterFrame) { _root.tt.scroll = int((_root.tt.maxscroll/187)*(int(this._y-8)));//这个也就是重点啦 } on (press) { startDrag(this, true, tx, ty, tx, ty1); } on (release) { stopDrag(); } |