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

时间:2013-06-25 19:21:33

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

子视图中的Xamarin精灵动画

我试图使用Xamarin而不是MonoGame来渲染精灵。我想完整地描述我的情况,以帮助我提出一些问题。我想使用UIViewController在Window上显示两个UIView。一个UIView,UIView A,将位于屏幕上第二个UIView B的正上方,而不是覆盖它。 UIView B将强制一个事件将在UIView A上呈现一个精灵。此刻我将这个事件被UIViewController捕获,并且Controller将事件抛入UIView A.我不知道如何渲染精灵在UIView A.我已经做了大量的研究并提出了一些解决方案,其中没有一个我能够成功地工作。我将列出我找到的解决方案。我按照我希望尝试的顺序放置它们。

解决方案#1:GLKView 我发现许多人使用CoreAnimation存在动画延迟问题。在Objective-C中,在iOS上,建议使用GLKView。我找不到这在Xamarin中是如何工作的。我发现了如何在UIViewController中启动GLKView的Objective-C示例,没有非常详细。没有明确说明如何设置委托功能来处理屏幕绘制。这也没有解释如何处理从精灵表中提取图像。

解决方案#2:Cocos2D 我发现iOS的许多2D游戏都是使用Cocos2D构建的,因为它能够轻松渲染精灵。我发现在Objective-C中,在iOS上,你可以加载一个Cocos2D View的UIView。我知道人们使用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?

我确定其他解决方案可能存在,我还没有找到,但我想要一些输入和示例,我应该采取什么样的解决方案。

谢谢, 罗伯特

1 个答案:

答案 0 :(得分:0)

我不能谈谈你的问题的具体细节,但我可以指出你已经发现我已经发现在熟悉使用Xamarin和SpriteKit时非常有用了:

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

如何编写sprikeKit游戏(对于iOS,但通过sinc读取序列和事件非常有用):http://www.raywenderlich.com/42699/spritekit-tutorial-for-beginners< - 编写spritekit游戏

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

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