我正在尝试在Xamarin.Forms中嵌入使用Spine创建的动画化身。
这个想法如下: 我想在PCL中创建一个Xamarin.Forms UI(XAML),实例化Monogame Framework的一个Game类(Microsoft.Xna.Framework.Game),并在Xamarin.Forms视图中渲染该游戏实例。
到目前为止,我已经设法在Xamarin.Android上运行Spine动画。
在Android项目中,我可以从Monogame游戏类like that请求“Android View”服务类型:
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
var g = new Game1(); //inherits from Microsoft.Xna.Framework.Game
SetContentView((View)g.Services.GetService(typeof(View)));
g.Run();
}
我是否可以从Game类请求获取该视图并在Xamarin.Forms页面上呈现它的通用视图类型? (这样我就可以将所有与动画相关的代码保留在PCL中,并让它以跨平台的方式呈现。)
或者有没有其他方法可以将动画集成到Xamarin.Forms中?动画应与其他Xamarin.Forms控件一起存在,如按钮或菜单。
答案 0 :(得分:0)
您可以制作自定义渲染器:查看类型的https://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer/
另请注意:https://github.com/xamarin/xamarin-forms-samples/tree/master/Native2Forms和https://github.com/xamarin/xamarin-forms-samples/tree/master/Forms2Native
对于跨平台动画/绘图,有一个非常好的NControl库:https://github.com/chrfalch/NControl