我正在使用 App Inventor 2 创建一个Android应用,我想创建一个可以使用TinyDB
存储玩家标记的Q& A游戏。
我有4个屏幕
- 主屏幕
- Q& A屏幕 - 游戏结束
- 玩家姓名输入
- 排行榜
在玩家输掉游戏后,游戏将显示他们的标记,并要求玩家输入他们的名字。然后,玩家的名字将存储在TinyDB中。当玩家开始新游戏(没有关闭应用程序)时,再次,如果他输了游戏,他需要输入他的名字,然后他的标记和名字将存储在TinyDB
中。现在应该有两个存储在TinyDB中的记录。当玩家进入排行榜时,他应该能够看到他的标记和名字(现在共有两个记录)。
我创建了一个TinyDB
,,但不知何故,旧记录将被新记录替换。它无法存储两条记录。
以下是我的播放器输入代码
排行榜的代码
排行榜中的编辑代码
答案 0 :(得分:0)
在Leaderboard.Initialize
事件中,您应该使用TinyDB
块从TinyDB.GetValue
读取结果,并将其分配给全局变量marksList
。
startvalue
事件中的Leaderboard.Initialize
只是您在过程procedure
中稍后要添加到marksList的子列表,而不是完整列表本身。顺便说一句。您可能希望将procedure
重命名为insertMarks
...
也许一个好主意是学习如何使用列表和列表列表......见这里