实时更新分数

Posted

技术标签:

【中文标题】实时更新分数【英文标题】:Update score in real time 【发布时间】:2015-08-25 18:42:58 【问题描述】:

我想创建一个可以实时更新的应用。这有点像游戏。这是我正在尝试做的事情:

玩家会玩,一旦有人获得最高分(在他玩的时候),它应该在所有设备上显示,并且分数应该随着高分用户的玩而不断变化。

我基本上是在尝试获得像agars game 这样的排行榜,其中的名称不断变化。

我遇到了firebase,但我不确定如何实现它。

我将如何处理添加新数据?

我应该在 xcode 中为每个新的高分添加一个新的,还是应该在浏览器中手动添加一堆,然后将它们的值替换为高分?

【问题讨论】:

见firebase.com/docs/ios/quickstart.html 【参考方案1】:

如果您查看 FireBase SwiftChat 演示,您可以通过代码找到如何观察 FireBase 事件的完美解释

这是需要的类

https://github.com/firebase/ios-swift-chat-example/blob/master/FireChat-Swift/MessagesViewController.swift

这是你需要查看的部分,它是上面类的副本

func setupFirebase() 
        // *** STEP 2: SETUP FIREBASE
        messagesRef = Firebase(url: "https://swift-chat.firebaseio.com/messages")

        // *** STEP 4: RECEIVE MESSAGES FROM FIREBASE (limited to latest 25 messages)
        messagesRef.queryLimitedToNumberOfChildren(25).observeEventType(FEventType.ChildAdded, withBlock:  (snapshot) in
            let text = snapshot.value["text"] as? String
            let sender = snapshot.value["sender"] as? String
            let imageUrl = snapshot.value["imageUrl"] as? String

            let message = Message(text: text, sender: sender, imageUrl: imageUrl)
            self.messages.append(message)
            self.finishReceivingMessage()
        )
    

    func sendMessage(text: String!, sender: String!) 
        // *** STEP 3: ADD A MESSAGE TO FIREBASE
        messagesRef.childByAutoId().setValue([
            "text":text,
            "sender":sender,
            "imageUrl":senderImageUrl
        ])
    

这里是整个项目

https://github.com/firebase/ios-swift-chat-example

【讨论】:

感谢您的回答!我不确定代码发生了什么。你能解释一下发生了什么吗?谢谢! 哥们,如果你不明白上面的代码是怎么回事,你确定要写游戏吗?!? :-) 因为它已经被 Firebase 评论了?他们的网站上有完整的文档?!? 我的错!我没有检查文档!我在这里发布了另一个问题。 ***.com/questions/32214918/…

以上是关于实时更新分数的主要内容,如果未能解决你的问题,请参考以下文章

Cocos2d 3.0 更新分数

排行榜分数未更新

基于 SpriteKit 中的碰撞检测更新分数的问题

php mysql 更新时间日期

UICollection 崩溃无效更新:无效的部分数。

实时更新客户端应用程序的技术堆栈