【问题标题】:Xamarin.iOS Sprite Animation Within a Sub-View子视图中的 Xamarin.iOS Sprite 动画
【发布时间】:2013-06-25 19:21:33
【问题描述】:

子视图中的 Xamarin Sprite 动画

我正在尝试使用 Xamarin 而不是 MonoGame 来渲染精灵。我想完整地描述我的情况,以帮助为我的问题提供一些背景信息。我想使用 UIViewController 在窗口上显示两个 UIView。一个 UIView,即 UIView A,将直接位于屏幕上第二个 UIView B 的上方,而不是覆盖它。 UIView B 将强制一个事件在 UIView A 上渲染一个精灵。目前我有这个事件被 UIViewController 捕获并且控制器将事件抛出到 UIView A。我不知道如何渲染精灵在 UIView A 中。我进行了大量研究并提出了一些解决方案,但我都无法成功。我将列出我找到的解决方案。我按照我更愿意尝试的顺序排列它们。

解决方案 #1:GLKView 我发现很多人在使用 CoreAnimation 时都会遇到动画滞后的问题。在 Objective-C 中,在 iOS 上,推荐使用 GLKView。我找不到这在 Xamarin 中是如何工作的。我找到了关于如何在 UIViewController 中启动 GLKView 的 Objective-C 示例,但都不是非常详细。没有明确说明如何设置委托函数来处理屏幕绘制。这也没有解释如何处理从精灵表中提取图像。

解决方案 #2:Cocos2D 我发现许多 iOS 2D 游戏都是使用 Cocos2D 构建的,因为它能够轻松渲染精灵。我发现在 iOS 上的 Objective-C 中,你可以加载一个 UIView,它是一个 Cocos2D 视图。我知道人们已经使用 Xamarin 构建了 Cocos2D 游戏。但是,我还没有找到如何在 Xamarin 中执行此操作的可靠示例。

解决方案#3:UIImageView 我找到了如何使用 UIImageView 完成简单精灵动画的示例,位于:http://docs.xamarin.com/recipes/ios/standard_controls/image_view/animate_an_imageview。但是,该示例加载了多个唯一图像,而不是从单个精灵表中提取的图像。我试图找到一个 Objective-C 示例和所有使用 Xamarin 中不存在的 GCImageRef 类的示例。该示例位于此处:How to cut a large sprite png into smaller UIImages?

我确信可能存在我尚未找到的其他解决方案,但我想提供一些关于我应该采取什么解决方案的意见和示例。

谢谢, 罗伯特

【问题讨论】:

  • 我的建议:如果您需要示例来执行这些操作,最好不要使用 xamarin,而是使用本机技术。与像 xamarin/monotouch 这样的小众解决方案相比,有更多可用的示例。关于 spritesheets cocos2d(或 sparrow)是最简单的解决方案,另一个没有对纹理图集的内置支持。

标签: c# xamarin.ios cocos2d-iphone xamarin glkview


【解决方案1】:

我无法详细说明您的问题,但我可以向您指出我发现对于熟悉使用 Xamarin 和 SpriteKit 非常有用的资源:

基本演练:http://blog.xamarin.com/make-games-with-xamarin.ios-and-sprite-kit/

如何编写 spritekit 游戏(对于 iOS,但对阅读 sinc 序列和事件很有用):http://www.raywenderlich.com/42699/spritekit-tutorial-for-beginners

最有用:直接来自 Xamarin 的官方 SpriteKit 示例,http://docs.xamarin.com/samples/ios/SpriteKit/

我希望这对您或遇到您的情况的其他人有所帮助!

【讨论】:

  • 这是在 SpriteKit 之前。我将在不久的将来发布一个示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多