2016-06-27 3 views
0

私はスクリプト可能なオブジェクトを持っています。これは日付を追跡する必要があります。スクリプト可能なオブジェクトが自分でランタイム間の日付を追跡しませんので、私は、次のを思い付いた:Androidでの実行とエディタでの実行の間で、スクリプト化可能なオブジェクトでデータが失われるのはなぜですか?

だから、
public long EndTimeLong; 
private DateTime endTime; 
public DateTime EndTime 
{ 
    get 
    { 
     return endTime; 
    } 
    set 
    { 
     EndTimeLong = value.ToBinary(); 
     endTime = value; 
    } 
} 

、任意の値に終了時間を設定し、EndTimeLongでバイナリとしてそれを格納します。私はすべてのスクリプト可能オブジェクトを使用する前に、元の日付が復元されなければならない、だから、

public void ReInit() 
{ 
    EndTime = DateTime.FromBinary(EndTimeLong); 
    ... 
} 

:私が今まで実行時にこれを使用する前に

はその後、右、私は次のメソッドを呼び出します。

しかし、これはエディタで見つけることができますが、Androidではそうはありません。

エディタでは、endtimeを将来60秒に設定する方法を実行します。私はその後エディタの演奏をやめ、演奏を開始します。そして、エンドタイムがまだ未来であり、それに応じて行動することを知っています。 (いくつかのことを示すなど) しかし、アンドロイドでは、時間が未来のように扱います。なぜ、この2つの動作が異なるのでしょうか?そして私はどうすればこの問題を解決できますか?

答えて

0

セッション間のファイルにEndTimeLong値を書き込んでいるとします。これは後で読み込む方法です。セッション間でのデータの保存方法に関する詳細情報を提供すれば、より多くのヘルプを提供することができます。

これは、セッションの間に保存する必要があるすべての場合、私はUnityのPlayerPrefを代わりに使用することになります:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html

関連する問題