2017-07-25 76 views
0

1º。對不起,我的英語:) 2º。我的新手在此,所以請好! 本地存儲 - Adob​​e Flash上​​的動作腳本2.0。 我有一個FLA文件,記錄天數,天,小時,分鐘和秒。事情是,我想節省在本地存儲的時間,我試過了,但沒有奏效。 你能幫我嗎?天文臺 - 動作腳本2.0本地存儲

Here's代碼:

stop(); // stop the scene animation 
timerClip.stop(); // stop the movieclip animation 

// initialise variables 
var day:Number = 121; 
var hour:Number = 23; 
var minute:Number = 59; 
var second:Number = 47; 
var record:Number = 000; 

timerClip.onEnterFrame = function() { 


if (this._currentframe == 30) {  
    second += 1; 


    // SECONDS 
    if (second > 59) {   
     second = 0; 
     seconds.text = "0" + second; 
     minute += 1;    

     // MINUTES 
     if (minute >= 10) { 
      minutes.text = minute; 
     } else { 
      minutes.text = "0" + minute; 
     } 

     // HOURS 
     if (minute > 59) { 
      minute = 0; 
      minutes.text = "0" + minute;     
      hour += 1; 

      if (hour >= 10) { 
       hours.text = hour; 
      } else { 
       hours.text = "0" + hour; 
      } 
      } 
     // DIAS 
     if (hour > 23) { 
      hour = 0; 
      hours.text = "0" + hour;     
      day += 1; 

      if (day >= 10) { 
       days.text = day;     
      } else { 
       days.text = "00" + day; 
      } 

     } 
    } else {    
     if (second >= 10) { 
      seconds.text = second; 
     } else { 
      seconds.text = "0" + second; 
     } 

    // RECORDS 
    if (record > day) {   
     record = record; 
     records.text = 0 + record; 
     } else { 
      records.text = day; 
     } 

    }  
} 
} 

這裏是.FLA https://www.4shared.com/file/PtZpnH2eca/chronometer.html

泰一切!

+2

你需要更清楚地解釋這個問題,指出你已經嘗試了什麼,以及預期的結果是什麼。另外,把你的問題中的相關代碼作爲一個[MCVE](https://stackoverflow.com/help/mcve) - 一個_minimal_完整的可驗證的例子。我實際上保證沒有人會從匿名文件共享服務下載並運行隨機文件。 – indextwo

+0

好吧,我會嘗試。它是「沒有傷害的日子」的標誌。精密計時器工作正常,記錄也一樣。 我試圖保存每個VAR的數據,所以如果我關閉SWF並再次打開,最後的數字將出現,而不是000:00: –

+0

我試過使用: var so:SharedObject = SharedObject.getLocal (「測試」);' 但我打破了整個代碼,現在我回到原來的版本 –

回答

0

我不知道在那裏你會得到一個錯誤,但如果你宣佈&檢索您的SharedObject根時間軸上,你的初始變量之後:

var day:Number = 121; 
var hour:Number = 23; 
var minute:Number = 59; 
var second:Number = 47; 
var record:Number = 000; 

var so:SharedObject = SharedObject.getLocal("record"); 

if (so.data.record) { 
    record = Number(so.data.record); 
    trace(record); 
} 

這應該坐在你的onEnterFrame之外函數,否則你會試圖每秒調用30次。假設record已被提交給您的SharedObject,它將按預期跟蹤它。

在您記錄按鈕,添加以下到on (release) {}功能:

so.data.record = record; 
so.flush(); 

由於so的根已經宣佈,這將寫適當的值到SharedObject每次點擊的按鈕。下次運行SWF時,它將從本地存儲裝載。

+0

Ty爲你的時間!!!!!!!我會測試它:)! –

+0

@PabloSureda如果有效,記得回來接受答案! :) – indextwo

+0

我正在測試,但結果是否定的。我會嘗試再次做到這一點...... –