Xamarin.iOS子视图中的精灵动画



子视图中的Xamarin精灵动画

我正在尝试使用Xamarin,而不是MonoGame来渲染精灵。我想完整地描述一下我的情况,以帮助给我的问题一些背景。我想使用UIViewController在窗口上显示两个UIView。一个UIView,即UIView A,将直接位于屏幕上第二个UIView B的正上方,而不是覆盖它。UIView B将强制执行一个事件,该事件将在UIView A上渲染精灵。此时,UIViewController捕捉到该事件,控制器将该事件扔到UIView A中。我不知道如何在UIView中渲染精灵。我做了大量的研究,并提出了一些解决方案,但没有一个能成功地工作。我将列出我找到的解决方案。我把它们按我想尝试的顺序排列。

解决方案1:GLKView我发现很多人在使用CoreAnimation时会遇到动画滞后的问题。在iOS上的Objective-C中,建议使用GLKView。我不知道这在Xamarin会如何运作。我发现了Objective-C的例子,没有一个非常详细的例子,说明如何在UIViewController中启动GLKView。没有明确说明如何设置委派函数来处理屏幕绘制。这也没有解释如何处理从精灵表中提取图像。

解决方案2:Cocos2D我发现许多iOS的2D游戏都是使用Cocos2D构建的,因为它能够轻松渲染精灵。我发现在Objective-C中,在iOS上,你可以加载一个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类的示例。示例如下:如何将一个大的sprite png剪切成更小的UIImages?。

我相信可能还有其他解决方案,我还没有找到,但我想提供一些关于我应该采取什么解决方案的意见和例子。

谢谢,Robert

我不能谈论你问题的细节,但我可以向你指出我发现在熟悉使用Xamarin和SpriteKit时非常有用的原因:

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

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

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

我希望这能帮助你或其他处于这种情况的人!

最新更新