a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 辦公 > Flash > 正文

Flash AS 實例進階 as打字效果

2020-07-17 13:14:06
字體:
來源:轉載
供稿:網友

  前面講了“圖”和“聲”的一般調理,這節我們開始琢磨“字”,要說這“字”,大號叫文本, 還有三種類型:靜態文本、動態文本和輸入文本,下面我們就把這三樣捏到一起作個綜合練習實例。

  源文件下載

  >>>>>點擊查看動畫效果<<<<<

  實例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 )編寫動作腳本

 ?、僭?ldquo;打字”按鈕上輸入:

  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 ”是為較準確顯示而加的修正值?!                             ?/p>

  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 語句判斷條件的變量賦原值

  }

 ?、菰?ldquo;滑塊”上的第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 部分組成,上下各一個按鈕,中間一個“滑塊”,當用上下按鈕改變文本的垂直位置時,中間的滾動條自動變化,當按住“滑塊”的時候 可以在確定的范圍呢拖動,文本位置也相應變化,其工作原理就是用一變量判斷后執行,取文本位置后改變“滑塊”位置,還是取“滑塊”位置后改變文本位置。

   ②shuchu = shuru.substring(0, i) ,是變量“ shuchu ”取得截自變量“ shuru” 的一段字符串, substring() 在小擴號里的參數,前一個是字符串中字符的索引號,從 0- — n-1 , n 是字符總數,如這個字符串有 5 個字符,索引號則是 0 、 1 、 2 、 3 、 4 ,這和以后要學習的數組索引是一樣的;后一個參數是要獲取的字符個數,如字符串有 5 個字符,,當此參數設定為 5 則全部獲得,因為此實例用變量 i 作為參數,且是以 1 為步長遞增的 , 每循環一次就多顯示一個字,看的效果是象打出一個新字,其實是 m+1 個字段長的字符串覆蓋了 m 個字段長的字符串。

   ③ gotoAndPlay(Math.ceil(Math.random()*4)+2) ,其中的 (Math.ceil(Math.random()*4 就是要取得一個 0-4 的隨機整數,過去我們用 random(value) ,但人家軟件說不鼓勵在 Flash 5 中使用,咱就跟著新的走。添點麻煩來 gotoAndPlay ,就是為有點快慢不一樣,象打字那回事似的。

 ?。?6 )小結

   本講介紹了輸入文本和動態文本,應該說講了普通的使用方法,好多的設置都是在屬性面板里完成的,只是用腳本控制字符文本的顯示,而全 AS 及更復雜控制就要用 TextField 類。這個實例的輸入文本滾動條對學習腳本編寫應該有一定的啟發作用,其實用組件有現成的,因為現在要用我們前面學到的知識來完成,才要這樣寫,而且對今后的應用也可能有幫助,同樣的原理可以控制影片和音樂的進度等。

  ( 7 )課后練習

   修改源文件,讓動態文本不是一個字一個字的顯示,而是一行行顯示,范例效果:

  >>>>>點擊查看動畫效果<<<<<

  練習2-3

  這篇教程為“Flash AS 實例進階教程”的一部分。查看全套教程>>>>。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一区二区三区国产免费 | 日韩精品一二 | 久热亚洲 | 欧美视频区| 久久久国产一区二区三区四区小说 | 欧美片网站免费 | 精品国产青草久久久久福利 | 青草草 | julia一区二区三区中文字幕 | 黄色av毛片 | 久久伊人影院 | 特级淫片女子高清视频在线观看 | 一级电影院| 中文成人av| 中文字幕三级 | 欧美黄视频在线观看 | 青草青草久热精品视频在线观看 | 日本黄a三级三级三级 | 99国产视频| 午夜精品久久久久久久久久久久久蜜桃 | 国产野精品久久久久久久不卡 | 中文字幕亚洲第一 | 亚洲精品一区二区三区四区高清 | 亚洲成人免费视频 | 精品视频一区二区三区 | 亚洲精品久久久久久久久久久 | 中文天堂在线观看视频 | 爱福利视频 | 国产视频福利一区 | 91精品久久久久久久99蜜桃 | 麻豆成人在线 | 欧美一级毛片免费观看 | 成人免费视频网 | 日本在线视频一区 | 久久久国产精品 | 日韩中文字幕免费在线播放 | 日本精品在线观看 | 小草av | 99国内精品久久久久久久 | 亚洲一区 | 伊人久操 |