《碼上就會:Flash 8專業版ActionScript進階應用》第五章訂正

讀者來信指出,《碼上就會:Flash 8專業版ActionScript進階應用》第五章 5-26 頁的 friction_ok.fla 檔的原始碼,在採用該檔預設的 Flash Player 6 之下播放時,沒有問題,但若設定成 Flash Player 8,程式就無法如預期般運作。這是因為當初該程式使用 Flash MX 開發,在 Flash Player 6 底下,取用尚未定義的變數時,該變數的值將是數字 0 或者「空字串」,例如,底下的敘述將在「輸出面版」呈現 10 :

// a 是未定義變數 
trace (a + 10);

在 Flash Player 7(含)之後,未定義變數的值就是 undefined(未定義),不能直接拿來計算,例如,上面的程式敘述將在「輸出」面版顯示 NaN(not a number,代表「不是數字」)。

書本 5-27 頁的程式(friction_ok.fla 檔中,「字母」元件的時間軸程式),把計算移動速率的結果暫存在 x_rate 和 y_rate 變數,但是沒有事先宣告這兩個變數,所以不能指定用 Flash Player 8 發佈。解決的辦法是在該元件的第一格關鍵影格中,加上底下的變數宣告敘述並預設數值 0:

// 宣告兩個數字類型的變數 
var x_rate:Number = 0;
var y_rate:Number = 0;

書本範例光碟中的另一個 floating_ok.fla 檔,也採用相同的修改方式,請在 letter 元件的時間軸加入上面的敘述。修改後的 friction_ok.fla 檔,請按此下載。謝謝讀者的指教。

Posts created 470

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top