与天地兮比寿,与日月兮齐光。这篇文章主要讲述[Unity计时器倒计时,当应用杀死Android时不起作用相关的知识,希望能为你提供帮助。
我对unity和c#还是陌生的,我有一个代码可以在10m后增加能量,我已经使用PlayerPrefs这样做,所以它可以统一工作,但不能在移动设备上工作,请帮忙。我无法理解到底是什么导致了电话问题。当应用程序未终止但在移动设备上最小化时,计时器也会暂停。我希望计时器倒数继续使游戏最小化,并且如果被杀死也可以。
using System;
using UnityEngine;
using UnityEngine.UI;
public class EnergyAdder : MonoBehaviour
{
// Start is called before the first frame update
public float waitTime = 600;
Timer timer;
public GameRoot gameRoot;
public int count;
DateTime currentDate;
DateTime oldDate;
void Start()
{
//timer = new Timer(waitTime);
float remainingTime = PlayerPrefs.GetFloat("TimeOnExit");
timer = new Timer(remainingTime);
if (PlayerPrefs.HasKey("sysString"))
{
currentDate = DateTime.Now;
long temp = Convert.ToInt64(PlayerPrefs.GetString("sysString"));
oldDate = DateTime.FromBinary(temp);
TimeSpan difference = currentDate.Subtract(oldDate);
count = (int)(difference.TotalSeconds / waitTime);
Debug.Log("time remaining " + count);
gameRoot.AddEnergy(count);
timer = new Timer(remainingTime - (float)difference.TotalSeconds);
//PlayerPrefs.DeleteKey("TimeOnExit");
//PlayerPrefs.DeleteKey("sysString");
}
}// Update is called once per frame
void Update()
{
if (Gameroot.isFull)
{
GetComponent<
Text>
().text = "Full";
count = 0;
timer.refresh();
}
else
{
//Debug.Log("deltatime ************************"+ secondstime);
timer.countDown();
if (timer.isFinished())
{
timer = new Timer(waitTime);
timer.refresh();
gameRoot.AddEnergy(1);
}
UpdateClock();
}
}void UpdateClock()
{
int seconds = ((int)timer.timeLeft) % 60;
int minutes = (int)(timer.timeLeft / 60);
GetComponent<
Text>
().text = minutes.ToString() + ":" + seconds.ToString("00");
}void OnApplicationQuit()
{
PlayerPrefs.SetFloat("TimeOnExit", timer.timeLeft);
var today = DateTime.Now;
PlayerPrefs.SetString("sysString", today.ToBinary().ToString());
PlayerPrefs.Save();
}
}
【[Unity计时器倒计时,当应用杀死Android时不起作用】请帮助上面代码中的错误或缺失。
答案我认为您可以使用
OnApplicationPause
和OnApplicationPause
[对于
OnApplicationFocus
和OnApplicationFocus
,也要做与OnApplicationQuit
中相同的操作>
并且与
OnApplicationPause(true)
和OnApplicationFocus(false)
和Start
之类的操作相同OnApplicationPause(false)
推荐阅读
- 无法绑定到'consoleMessages',因为它不是'app-console'的已知属性
- React-Native(很遗憾,该应用程序已在Android上停止)
- react-native run-android失败,出现“Task(app:compileDebugJavaWithJavac FAILED”安装后的react-native-fbsdk)
- React Native v0.59.2 android签名apk卡在启动画面
- 我如何将此库添加到我的android studio项目中
- Android Studio中包含* .so库的错误
- Android-firebase问题(“无法解析符号'存储'”)
- Ionic 4 Leaflet Map不适用于部署,但适用于离子服务--devapp
- 在Android中使用Google API密钥,但有限制