Flash AS 实例进阶 as打字效果

2019-10-08 14:24:02王旭

  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();// 转到上一帧

 stopDrag();// 停止拖动

  t = 0;// 为 if 语句判断条件的变量赋原值

  }

  ⑤在“滑块”上的第1帧上输入:

  stop();

  ⑥主时间轴第 1 帧上输入:

  i = 0;

  shuru = "";

  nextFrame(); //变量初始化后转到下一帧停止。

   ⑦ 主时间轴第2帧上输入:

  shuchu = shuru.substring(0, i)+"_";// 将输入文本的字符串变量的的第 1 个到第 i+1 个的字符,同时在后面加个"_"组成的一个字符串赋给动态文本的变量。

  gotoAndPlay(Math.ceil(Math.random()*4)+2); 避免死板显示,将播放头的跳转位置用随机函数值来确定。

  shuchu.scroll = shuchu.maxscroll;// 设定显示行,使得动态文本框显示满后向上滚动。

  i++;

  if (i>shuru.length) { 当变量 i 大于输入文本的总字符数时,执行以下命令。

  stop();

  i = 0;

  }

   ⑧ 主时间轴最后一帧上输入:

  gotoAndPlay(2);

  ( 5 )要点分析

   ①这里的输入文本“滚动条”实现了交互性功能,“滚动条”由 3 部分组成,上下各一个按钮,中间一个“滑块”,当用上下按钮改变文本的垂直位置时,中间的滚动条自动变化,当按住“滑块”的时候 可以在确定的范围呢拖动,文本位置也相应变化,其工作原理就是用一变量判断后执行,取文本位置后改变“滑块”位置,还是取“滑块”位置后改变文本位置。