前面讲了“图”和“声”的一般调理,这节我们开始琢磨“字”,要说这“字”,大号叫文本, 还有三种类型:静态文本、动态文本和输入文本,下面我们就把这三样捏到一起作个综合练习实例。 实例2-3打字效果 ( 1 )基本思路① 建一个输入文本,用来键盘输入或复制粘贴一段文字。 ② 为输入文本制作一滚动条,上下各一个按钮,中间一个“滑块”,“滑块”要和文本同步垂直变动,并相互作用,编写这段脚本可是够累人的。 ③建一个动态文本,根据指令来显示输入文本的内容。 ④ 建一个按钮,令动态文本开始“表现 ” 。 ⑤ 在帧上写脚本,让动态文本的按咱要求“演”。 ⑥ 上面只是说到要用输入文本和动态文本,不是说要用 3 样吗, 那在就在按钮上输入“打字”俩字,别看字少,可是用到了一种类型,这下齐了。 ( 2 )新知识点my_txt.scroll // 定义文本在文本字段中的垂直位置。 my_txt.maxscroll;// my_txt.scroll 的最大值。 my_str.substring// 返回一个字符串。 arguments.length// 实际传递给函数的参数数量。 Math.random()// 返回一个 0-1 之间的随机数。 Math.ceil()// 对数字或表达式按进位法取整。 (3)实例说明 ① 建一输入文本,变量名: shuru 。 ② 建一动态文本,变量名: shuchu 。 ③从公用库中拖入一按钮,点开并插入“打字”二字。 ④ 为输入文本作一滚动条,包括上下按钮和一个类型为 MC 的“滑块”。 ( 4 )编写动作脚本 ①在“打字”按钮上输入: on (press) { Play(); } ② 在滚动条的向上按钮上输入: on(release){ shuru.scroll-=1;// 可显示的文本垂直下移一个单位,即向上多看一行。 } ③ 在滚动条的向下按钮上输入: on(release){ shuru.scroll+=1;// 可显示的文本垂直上移一个单位,即向下多看一行。 } ④ 在滚动条的“滑块”上输入: onClipEvent (load) { shang = this._y;// 设此变量作为“滑块”的初始垂直位置 zuoyou = this._x;// 设此变量作为“滑块”的初始水平位置 N = 30; // 设此变量作为“滑块”的垂直位置变动的最大值,本例中其实是一以常量状态存在。 t = 0; // 设此变量作为 if 语句的判断条件 } onClipEvent (enterFrame) {// 按帧频循环执行以下动作 if (t == 0) { 满足条件执行此大括号内动作 Ni = (N+2)*(_root.shuru.scroll-1)/(_root.shuru.maxscroll);// 用 N 乘于当前显示行占总行数的比例,再赋值给变量 Ni ,其中的“ -1 ”和“ +2 ”是为较准确显示而加的修正值。 this._y = shang+Ni;// 此 MC 的垂直位置依 Ni 而变化。 } else {// 不满足条件执行此大括号内动作 Ni = this._y-shang; 将当前垂直位置与原始位置的差赋值给 Ni _root.shuru.scroll = Ni/N*(_root.shuru.maxscroll)+1;// 用 Ni 占 N 的比例乘于文本的总行数的值赋予现实显示的行数。 } } on (press) { nextFrame();// 转到下一帧,这里是为要取得的不同的外观效果。 t = 1;// 为 if 语句判断条件的变量赋新值 startDrag(this, true, zuoyou, shang, zuoyou, shang+N); // 鼠标拖动 MC ,并限制在括号的设定范围内。 } on (release,releaseOutside) { prevFrame();// 转到上一帧
来源:
flasher123
|
|