C# iPhone上的XNA
我不知道这是否是一个奇怪的问题,但我如何在iPhone/iTouch上运行XNA制作的游戏?应该使用哪些步骤/工具(现有的或虚构的…) 注意:目的是避免修改现有的C代码 更新:C# iPhone上的XNA,c#,.net,iphone,clr,xna,C#,.net,Iphone,Clr,Xna,我不知道这是否是一个奇怪的问题,但我如何在iPhone/iTouch上运行XNA制作的游戏?应该使用哪些步骤/工具(现有的或虚构的…) 注意:目的是避免修改现有的C代码 更新: 如果我理解正确,我必须能够: 1) 在Mono上运行我的XNA代码(或者,有希望?) 2) 在iPhone上运行Mono() 首先,你需要在iPhone上实现CLR,虽然目前还不存在,但似乎有人在尝试:。我认为你的问题没有好的答案。XNA并不针对iPhone,因此不太可能在不修改C#源代码的情况下有效地移植XNA游戏 相
如果我理解正确,我必须能够:
1) 在Mono上运行我的XNA代码(或者,有希望?)
2) 在iPhone上运行Mono()
首先,你需要在iPhone上实现CLR,虽然目前还不存在,但似乎有人在尝试:。我认为你的问题没有好的答案。XNA并不针对iPhone,因此不太可能在不修改C#源代码的情况下有效地移植XNA游戏 相反,我建议您看看现有的各种框架,以帮助您制作跨平台游戏。经常出现在这些讨论中,但不是免费的 如果跨平台不是你的目标,但免费iPhone开发是,那么我建议你看看 编辑:该项目可能在未来能够帮助你,但现在无法帮助你。不过,这还是需要注意的
编辑:自从这个问题发布以来,在过去的5年里,景观发生了很大的变化。如果你有一个XNA项目想要在iOS上运行,那么(以前的MonoTouch)加上MonoGame是一个近乎完美的选择。MonoGame缺少大量XNA内容管道,这意味着您要么放弃它,要么在某个地方拥有一个VS2010实例来编译您的资产 最终可能会有所帮助,因为它允许您编写针对iPhone的C#(静态编译为本机代码)。我相信XNA依赖于Direct3D 9(请参阅),这可能暗示了在移植到mono以及在iPhone上拥有足够的图形马力时可能会遇到的障碍。每个人都说这是可能的,因为mono有CLR库,但他们甚至没有想到XNA是一套完全不同的框架: “XNA框架类库是包含在XNA Game Studio中的类、接口和值类型的库。” 正如另一位回应者指出的,这还远远没有发生,甚至一点都不好笑。如果你真的想写一个游戏,我会看看Unity。这是商业化的,但它看起来非常令人印象深刻,你可以用Javascript或(这里是有趣的部分)编写你的游戏逻辑 是的,与其为了用C#编写一个游戏而花费大量的工作来移植一个完整的框架,为什么不今天就使用一个框架呢?From's mouth: MonoTouch+SilverSprite=XNA 2D iPhone上的游戏?:)
这意味着最终可以编写一个2D XNA游戏,然后在Silverlight上运行它,然后在iPhone上运行它这不仅是可能的,而且下面是一段某人在MonoTouch上运行XnaTouch的视频:
这是一篇关于做这件事的mono文章这个空间肯定在升温。现在codeplex上有一个XNA Touch项目,旨在将XNA API引入iPhone/iPad平台:
我的一个朋友正在为iOS平台开发XNA 4.0的体系结构端口。当然,它是用Objective-C编写的,但它有XNA的感觉。他已经在LGPL下发布了源代码。“也许”在开发MonoTouch项目时,您可以更改XnaTouch的名称空间以匹配现有Xna代码(即Microsoft.Xna.Framework.*)?这可以在XnaTouch代码的供应商fork(副本)上完成,使用Git、Mercurial等易于管理 我不确定XnaTouch团队是否会在自己的代码库上进行这样的更改,因此最好是在您自己的、个人的代码分支上进行更改(有趣的是,我不确定XnaTouch为什么选择不这样做) 仅供参考,当前的XnaTouch(v1.0)非常忠实地遵循XNA4.0。我发现了[少量]缺少的方法调用,我“实现”了这些调用以抛出未实现的异常(?)。原始的-xna4-and-modified-xna-touch代码已经编译,现在我需要实现特定于iphone的gui和处理等 希望这对别人有帮助 干杯
RichMonoGame是XNA4.0框架的免费OpenGL实现。它建立在一系列优秀的Mono编译器之上,与MonoTouch(iOS)、Mono for Android(Android)、MonoMac(Mac OS X)、Mono for Windows和现在的Linux兼容 苹果iOS应用商店中目前使用MonoGame的12款游戏列表可在@
Xna在iPhone上不受官方支持;但是,您可以使用ExEn()或MonoGame()来移植Xna游戏。使用这两款产品的一个好处是它们都支持Android的Mono。如果你想找一款免费的跨平台产品,你可以看看phonegap。我没有这方面的经验,但它看起来很酷。
但如果他是针对XNA,他将修改代码。我确实认为这个项目很酷,是一个有价值的方向。和OMG的无JIT条款。这比安卓决定不在Java上使用JIT还要糟糕。我认为苹果公司除了自己的解释器之外,不允许解释器。我想知道这就是为什么没有准时制的原因吗?答案是Thx。我的项目快完成了,所以我想知道是否有一种方法可以让它以最小的工作量进行移植;)(重写不是一种选择)如果我是你,我会认真考虑的。您可能可以重用所有的图形资源,而且由于脚本是用C#编写的,我敢打赌,您的许多游戏逻辑也可以移植。如果这是一个好游戏,你可以在iPhone上获得相当多的用户。我同意,依赖DirectX的XNA是最大的障碍。Net在iPhone上是可能的。要在iPhone上获得XNA,需要在iPhone上实现XNA图形堆栈。这是个好消息!知道有才华的人有兴趣把XNA带到iPhone上,这很酷!您可以添加Java或.NET sup