Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。

flash語法顯示NaN不是數值~如何解決

我舞台上放了二個輸入文字方塊及一個動態方塊

個別變數設為a1 a2 a3

也給了一個按鈕下了

on(release){

a3=Number(a1)+Number(a2)

}

這個語法flash player5.0及action1.0下run是正常的可以顯示使用者輸入值的加總結果~

但我把它 轉為flash player9.0及action2.0下就會出現NaN

顯示讀不到數值~

請問這要如何改為新版能看的~

若可以的話~順便提供 3.0的建立方式~

ps.我目前用2.0

更新:

我試不行耶~

我開的檔是flash player9+action2.0謝謝再麻煩你試成功

再跟我說一次~

更新 2:

那再麻煩你~到以下網址去幫我看看~謝謝~

http://www.allshop.com.tw/test.fla

更新 3:

原來如此~~我完成了~再請教一下~為何你設定的變數名稱為

input.text

而實體名稱沒有加上.text

主要是設定為文字方塊的意思嗎~還是有什麼特定的條方或邏輯呢?~謝謝

1 個解答

評分
  • ?
    Lv 4
    1 十年前
    最愛解答

    2個輸入文字欄位,1個動態文字欄位,1個按鈕

    實体名稱依序為:input1、input2、output、btn

    //ActionScript 2.0

    btn.onRelease = function (){

    output.text = String(Number(input1.text) + Number(input2.text));

    }

    //ActionScript 3.0

    btn.addEventListener(MouseEvent.CLICK, onClick);

    function onClick(e:MouseEvent):void{

    output.text = String(Number(input1.text) + Number(input2.text));

    }

    2009-02-09 09:22:56 補充:

    沒錯的!

    AS2 的 null 和 非純數字字串 轉型成數字時 是 NaN

    如果輸入文字欄位刻意不輸入 或 輸入文字 的話,動態文字欄位會顯示 NaN

    http://home.educities.edu.tw/maosinc/test/add.swf

    //而AS3的 null >> 0,非純數字字串 >> NaN

    提值你的fla上來看看吧

    2009-02-11 20:31:09 補充:

    不建議那樣做喔! 在「變數」方塊中輸入文字欄位的變數名稱 ( 只有在針對 Flash Player 5 或更早版本進行編寫時,才能使用這個選項)。

    從 Macromedia Flash MX ( 版本 6) 開始,則是使用「屬性」檢測器來指定文字欄位的實體名稱。

    依照上面的方法,把as寫在時間軸上,即可完成你的需求。

    2009-02-11 20:57:40 補充:

    另外,以你提供的fla來說,要讓它正常顯示的話~

    點選輸入文字欄位,按 Ctrl + F3,把 Auto kern 取消即可。

    請參考下圖:

    http://home.educities.edu.tw/maosinc/test/add.png

    2009-02-12 13:25:33 補充:

    疑...結案了!只好在意見裡回答了!

    text是文字欄位裡眾多屬性中的一個屬性~

    input.text 要這樣解讀:input文字欄位中目前文字的字串值~

    而不是 設定的變數名稱為 input.text

    資料來源: myself
還有問題嗎?立即提問即可得到解答。