0

子视图中的 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 类的示例。该示例位于此处:如何将大精灵 png 切割成较小的 UIImages?.

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

谢谢,罗伯特

4

1 回答 1

0

我无法详细说明您的问题,但我可以向您指出我发现在熟悉使用 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 <-- 编写 spritekit游戏

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

我希望这可以帮助您或您遇到的其他人!

于 2014-02-06T19:41:43.273 回答