Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iPhone上的XNA_C#_.net_Iphone_Clr_Xna - Fatal编程技术网

C# iPhone上的XNA

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游戏 相

我不知道这是否是一个奇怪的问题,但我如何在iPhone/iTouch上运行XNA制作的游戏?应该使用哪些步骤/工具(现有的或虚构的…)

注意:目的是避免修改现有的C代码

更新:
如果我理解正确,我必须能够:
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和处理等

希望这对别人有帮助

干杯


Rich

MonoGame是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