用于 iOS 游戏开发的 Html5
Posted
技术标签:
【中文标题】用于 iOS 游戏开发的 Html5【英文标题】:Html5 for iOS game development 【发布时间】:2011-09-10 22:23:32 【问题描述】:我听说过用于 ios 开发的 html5 的出现。我对 Web 开发技术一无所知,我想知道,这真的可以用于 iOS 游戏开发吗?只是听到 html 让我觉得这将用于网络相关的应用程序,而不是图形动态 2d 游戏之类的东西,但不熟悉,我希望从这里的专家那里得到一些见解。 html5 对游戏有用吗,还是我应该基本上坚持使用 cocos2d for iphone 之类的东西?
【问题讨论】:
【参考方案1】:简短的回答是“是的,您可以使用 HTML5 开发全速互动游戏”。在 Apple 应用商店中查看“Private Joe”、“Biolab Disaster”和“FUBAR”。所有这些都是使用 HTML5、javascript 和一些 javascript 库(ImpactJS 和 Box2D)创建的。
您在探索时会看到一件事,即“网络游戏不够快”以及“网络游戏无法使用设备的好东西——如 GPS、振动等”的反复警告。
这些陈述代表“普遍的想法”,不再是真的。像 PhoneGap 和 appMobi 这样的公司有工具可以用 HTML/JS 做任何可以在原生应用程序中做的事情。浏览器越来越快,智能手机处理器也越来越快。高通的新芯片组甚至为未来的智能手机提供 GPU 加速。
作为使用 HTML5 编写应用程序的额外好处,您可以选择是将应用程序编译成原生应用程序并发布到应用程序商店之一(使用 appmobi 或 phonegap),还是自己提供一个网络应用程序(节省苹果审查和 30% 的税)。
HTML5 万岁!
【讨论】:
我更愿意把苹果商店看作不是 30% 的税,而是对商业和分销模式的交易审查(有 30% 的税)。 另注:android 和 Windows Phone 收取相同的 30% 费用。 在应用内购买?你逃不掉的,30%!【参考方案2】:使用 HTML 5 进行游戏开发的真正好处在于它是一次编写,随处部署的策略,这意味着您可以编写相同的代码并让它在 iOS、Android、Windows、MacOS、Linux 等平台上运行,只要因为它有一个浏览器。
HTML5 画布元素同时支持 2d 和 3d(在某些平台上),因此您也可以将它用于复杂的游戏。
但是,这将在浏览器中运行,因此在应用商店中出售它的唯一方法是将其包装在 UIWebView 容器或类似容器中。
此外,还有一些用 Canvas 编写的游戏(只需用谷歌搜索它,也可以用谷歌“chrome 实验”来寻找 HTML5 中很酷的 3d 内容)。
【讨论】:
我们在讨论什么样的性能权衡,需要在 UIWebView 上完成?对于游戏开发者来说,这个问题一次又一次地出现。 肯定会慢一些,因为JS是解释的,不是编译的,不过没关系,除非你的游戏超级激烈。用单一语言维护代码当然更容易,所以我建议您在遇到性能问题之前这样做。 从 AppMobi 查看 DirectCanvas(我在那里工作)。它将深层逻辑转移到 OpenGL 和其他本机层,而不是 JavaScript 做艰苦的工作。制作像 Rage 这样的东西是行不通的,但你会惊讶于它的可能性。【参考方案3】:我编写了这个 HTML5 俄罗斯方块实现:http://htmltetris.com
它被设计为在 PC 和支持 Javascript 触摸事件的触摸设备上同样可玩。
在手机游戏中要做到正确的重要事情之一是控制方案,这里需要一些思考才能提出用于俄罗斯方块的滑动/点击控制方案。但事实证明它非常可玩(事实上,与我尝试过的所有俄罗斯方块(如 iOS 应用程序)一样可玩,并且有……其中不少)并且证明它是可以构建的一款完美可玩的游戏,采用 HTML5 技术。
【讨论】:
这在我的 iOS 设备上运行良好。谢谢。 感谢@EralpB。考虑到它甚至不使用 CSS3 进行转换。它们是用老派setTimeout
完成的,并用canvas
渲染。 HTML5 在游戏方面的能力很强,我们只是需要更成熟的 JS 框架。【参考方案4】:
查看 HTML5 画布。很多网页游戏都是基于这个标签的。以下是一些示例:- http://www.canvasdemos.com/type/games/
【讨论】:
【参考方案5】:花时间学习 HTML5 及其对应物有两个好处: 一方面,您编写的每个应用程序理论上都可以在许多平台上运行。 iOS、Android、Windows、Mac、Linux 等都具有 HTML5 功能。您还将把时间投入到一种仍在开发中的语言上,因此随着更多功能的添加,您将已经了解它的来龙去脉,并且当最终产品最终推出时,您将掌握它主流。
HTML5 的功能和威力只是在扩展,因此该语言的体验只会随着时间的推移而提高;)
【讨论】:
以上是关于用于 iOS 游戏开发的 Html5的主要内容,如果未能解决你的问题,请参考以下文章
Unity Project Tiny HTML5 3D游戏开发入门
Html5+Lufylegend.js游戏开发引擎介绍及原理