dart - Flutter:如何根据我在应用中为游戏花费的时间创建评分系统?
问题描述
我正在尝试制作游戏,并且我想根据我在游戏中度过的时间来实施评分系统。我不太明白:(
解决方案
回答:
Dart 的异步库中有Timer类。它接收一个持续时间对象,异步启动倒计时,并返回一个 Future 对象(以便您的其余代码可以无缝执行)。当时间到时,Future 成为底层类型的对象,并将该对象传递给回调函数。
https://api.dartlang.org/stable/2.2.0/dart-async/Timer-class.html
您可以使用此类创建每秒或五秒或类似的倒计时。每次过期,如果玩家还活着,可以在回调函数中加一个点,然后重新开始计时。这只是一个例子,但希望你能明白这个想法,你的想象力已经变得松散了。
初学者的重要注意事项:
为了做到这一点,你需要对 Dart 中的异步编程有深刻的理解。最重要的是,Future 类和 Future 的行为方式。
如果你来自 JavaScript 世界,你会发现 Dart 中的 Futures 与 JS 中的 Promises 非常相似。
(官方网站https://dartlang.org/上有很多经过精心编辑的材料,可以帮助您熟悉 Futures。如果您是初学者,可能需要一两天时间来掌握这个概念,但您'我会发现这是值得的。)
https://api.dartlang.org/stable/2.2.0/dart-async/Future-class.html
推荐阅读
- sql-server - 将 Excel 数据上传到 Microsoft SQL Server
- node.js - InternalOAuthError 不和谐 oauth2
- python - 如何从 Python 中定义函数的平方计算积分?
- java - Akka teskit.spawn 返回 ActorSystem
- c++ - 如何在 C++ 中列表的单个位置插入多个不同的值?
- python - 将数据框转换为元组列表
- python - 我用谷歌搜索'typeerror:'int'对象不可调用'但仍然不知道该怎么做。找不到重叠名称
- java - 无法解析最终 FirebaseUser firebaseUser = FirebaseAuth.getInstance();
- character-encoding - 我怎样才能弄清楚这些颜色值是如何编码的?
- python - 尝试自动化一些数据抓取,但需要了解如何在抓取和导出之间组合数据