【问题标题】:Whats the best practices to let flash files communicate with my website?让 Flash 文件与我的网站通信的最佳做法是什么?
【发布时间】:2010-07-05 12:36:22
【问题描述】:

我正在开发一个网站,该网站包含游戏,该游戏需要向该网站提交分数,以便该网站处理将用户游戏分数保存在数据库中。

所以我问的是在网站和Flash游戏之间进行这种通信的标准和常用技术,是让Flash文件调用javascript函数还是调用服务器端代码更好?我不知道如何做到这一点

注意:我可以要求 Flash 游戏创建者编辑 Flash 文件以调用某些功能。
也可能“还不确定”,我需要从服务器向闪存发送一些变量。

【问题讨论】:

    标签: asp.net javascript flash


    【解决方案1】:

    如果您创建一些游戏创建者可以挂钩的 javascript api 对您来说会更好。然后,如何使用它完全取决于您:脑海中浮现出对 Web 服务的 ajax 调用。

    这将保护你不必学习 Flex 或 Action 脚本,如果你能得到游戏开发者对 api 的同意,那么你已经抽象了这个接口,你在浏览器中的实现将与发生的事情解耦在 Flash 中。

    【讨论】:

    • 太好了,这会很好,你有什么参考资料可以了解更多关于js和flash之间的通信吗?
    • Adobe 网站可能是您最好的选择。从这里开始:kb2.adobe.com/cps/156/tn_15683.html,这是一个很好的教程:permadi.com/tutorial/flashjscommand
    • @Amr ElGarhy:没有必要使用 JS。您几乎可以使用 flash 执行完全相同的 HTTP 请求,就像使用 JS 一样。我建议,你先定义 API,如果你愿意,你可以提供一个 SDK 来包装 JS 和 flash 的调用。
    • 没错,但我建议使用 Javascript 外观的主要原因是帮助将 Flash 代码与服务调用分离,因为 Flash 代码似乎是第三方的,并且不能保证它们将永远是很乐意维护或更改它。
    • 问题中没有足够的信息来进行这样的调用。如果您想更改 Web 服务的位置会发生什么?您是否必须让 Flash 开发人员更改他们调用的位置?如果他们不愿意,他们的公司已经易手或倒闭怎么办?我知道你可以将服务 url 传递到 flash 对象中,但你能走多远?这种方法需要您预先考虑每种情况。如果您出于某种原因决定使用一些 Silverlight 代码拦截客户端的调用,该怎么办?
    【解决方案2】:

    嗯,我习惯的方式是,首先,您为游戏开发人员应该使用的服务设计一个 API。显然,您必须实际实现该服务。 :)

    下一步是提供一个 SDK,进一步封装 API 并使其易于使用,弥合 API 和客户端之间的语义鸿沟,并让开发人员免去编组调用和解析返回值的枯燥工作。

    您可以提供 SDK 用作运行时共享库​​,这样您就可以提供错误修复和其他内部更改,而无需重新编译和更新。

    我不能真正同意 Daniel 的原因是,我并没有真正看到引入中间层的好处。这只是错误和安全问题的另一个来源。根据我的经验,我所知道的 API 最显着的变化是调用的弃用、调用签名的更改或返回数据的结构。由于您是从头开始编写的,因此很有可能发生这种情况。

    总之,对我来说最佳实践是:

    • 精心设计的 API
    • 文档
    • SDK
    • 开发者支持

    问候
    back2dos

    【讨论】:

    • 您能否介绍一些关于您的观点的参考资料和示例,因为它是标准方法之一,我想了解更多。
    • @Amr: kongregate 是现场最大的玩家之一,我建议你看看他们的 API:kongregate.com/developer_center/docs/kongregate-api 虽然我必须说,这有点缺陷,他们并没有真正提供很多适当的 SDK,只是您加载的 SWF 并进行无类型调用。 IHMO 它有点违背了目的。我参与了在sevengames.com 上发布的游戏,这实际上做得很好。但是一方不允许免费提交内容,而且我受 NDA 的约束,所以我想 konkregate 是我现在能指出的最好的。
    猜你喜欢
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多