【发布时间】:2013-02-14 03:34:37
【问题描述】:
我想为我最近在 Windows 8 中开发的游戏创建一个非常简单的在线高分表(C# 和 XAML)。
最简单快捷的方法是什么?
【问题讨论】:
标签: c# windows-8 microsoft-metro windows-phone-8
我想为我最近在 Windows 8 中开发的游戏创建一个非常简单的在线高分表(C# 和 XAML)。
最简单快捷的方法是什么?
【问题讨论】:
标签: c# windows-8 microsoft-metro windows-phone-8
毫无疑问WINDOWS AZURE MOBILE SERVICES,是的,我在喊:)
您需要的所有基础设施都在云中提供,并且您会获得一个客户端 SDK,它可以让记录分数真正成为一种单行。 Take a look a my blog post 正是这样做(以及合并推送通知)。这篇文章涵盖了一个 HTML 5/JavaScript 游戏,但我认为您可以轻松地转换为 C#/XAML。
Windows Azure 移动服务是免费的*,您可以通过Windows Azure 3-month trial 优惠获得访问权限,在此服务到期后,您的服务仍然免费(尽管您需要为数据付费,在您的情况下可能每月 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 的帖子带有参数,例如,难度=easy 和 score=1100。
您的游戏客户端可以使用WebClient(更简单)或HttpWebRequest 进行更精细的控制。构建一个封装评分交互的类,一个可以获取所有高分的方法,另一个向评分服务器发送新分数的方法,参数为 playername 和 score。
在您的本地主机上进行演示,然后考虑如何限制玩家发布自己的分数,例如让游戏客户端通过服务器进行身份验证。
【讨论】:
使用 service 或 httpclient 更新分数
【讨论】:
Xbox live 服务支持排行榜。既然你有一个 Win8 游戏,你应该看看这个来自 //build 2012 的视频:Building Cross-Device Xbox Games,他们在视频 30 分钟左右进入了有用的细节。
【讨论】: