C#
我想为我最近在 Windows 8(和XAML
)中开发的游戏创建一个非常简单的在线高分表。
最简单快捷的方法是什么?
C#
我想为我最近在 Windows 8(和XAML
)中开发的游戏创建一个非常简单的在线高分表。
最简单快捷的方法是什么?
毫无疑问, WINDOWS AZURE MOBILE SERVICES,是的,我在喊:)
您需要的所有基础设施都在云中提供,并且您会获得一个客户端 SDK,它使记录分数实际上是一条线。看看我的博客文章就是这样做的(以及合并推送通知)。这篇文章涵盖了一个 HTML 5/JavaScript 游戏,但我认为您可以轻松地将其转换为 C#/XAML。
Windows Azure 移动服务是免费的*,您可以通过Windows Azure 3 个月试用优惠获得访问权限,并且在到期后您的服务仍然免费(尽管您需要为数据付费,在您的情况下可能每月 5 美元)
我将使用 HttpClient 和简单的 PHP 脚本,它们将使用 post 方法接收分数,而第二个脚本将显示这些分数。
您需要的第一件事是始终处于运行状态并能够处理流量的服务器。我使用 Godaddy 托管。它便宜又优质的服务,而且很容易通过 ftp 访问。
接下来你需要一个php页面。
php 页面应该从 URL 中获取关于分数和用户信息的 GET 数据
有几种方法可以实现分数记录。1. 您可以让接收 php 页面更改并排序包含用户 ID 和得分列表的主文件 2. 您可以让接收 php 页面为每个玩家 ID 保存一个唯一的 txt 文件,并将他们的得分粘贴在其中。然后,当您的应用程序调用分数时,它可以提取所有 txt 文件并在手机上对其进行排序。
我个人更喜欢方式一。
最后,您需要一个可以指向您的应用程序的域名。您将需要一个用于发送信息的目录和一个用于接收的目录。
我掩盖了很多东西。一个有经验的开发人员可以在一天内完成这项工作。调试它虽然需要一些时间。祝你好运
如果您习惯 C#,请构建一个 ASP.NET MVC Web 应用程序。您可以在本地开发和测试它而无需上线。MVC 可能有一个艰难的学习曲线,但它是一个很棒的框架,并且使用您作为 C# 编码器可能已经熟悉的技术,例如 Linq。您需要一个数据库,Visual Studio 应该可以帮助您开始使用所有这些。
您想要一个帖子或获取控制器操作,其 URL 类似于http://server.com/scores/player1。该 url 上的 HTTP GET 可以返回分数视图,而该 url 的帖子带有参数,例如,难度 = 容易和分数 = 1100。
您的游戏客户端可以使用WebClient(更简单)或HttpWebRequest进行更精细的控制。构建一个封装评分交互的类,一个方法可以获取所有的高分,另一个方法是通过args playername和score向评分服务器发送一个新的分数。
在本地主机上进行演示,然后考虑如何限制玩家发布自己的分数,例如让游戏客户端通过服务器进行身份验证。
使用 service 或 httpclient 来更新分数
Xbox Live 服务支持排行榜。既然你有一个 Win8 游戏,你应该看看这个来自 //build 2012 : Building Cross-Device Xbox Games的视频,他们在视频的 30 分钟左右进入了有用的细节。