如何在Xamarin.iOS(C#)中预加载纹理图谱(SKTextureAtlas)
本文关键字:纹理 加载 SKTextureAtlas iOS Xamarin | 更新日期: 2023-09-27 17:59:21
有人能给我看一个在Xamarin.iOS框架内用C#编写的小代码示例吗?它可以预加载纹理图谱?
Xamarin网站有这个页面:
https://developer.xamarin.com/api/type/MonoTouch.SpriteKit.SKTextureAtlas/
在这个网页上,他们列出了许多预加载纹理图谱的方法。但是,我只对这两种特定的方法感兴趣:
预加载纹理(SKTextureAtlas[],NSAction)
预加载纹理同步(SKTextureAtlas[])
我想这两种方法都适用于我的比赛。不幸的是,我不知道如何在Xamarin.iOS框架内用C#正确地调用它们。
虽然网上有很多预加载纹理图谱的代码示例,但这些示例都是用Objective-C编写的,不幸的是,我还不知道如何将Objective-C代码转换为C#代码。
因此,如果你能告诉我如何在Xamarin.iOS框架内用C#编写一些小代码示例,使用我上面提到的2种方法预加载纹理图谱,我将不胜感激。
非常感谢。
我不是游戏开发专家,以前也没有参与过游戏开发;然而,我对Xamarin.iOS相当熟悉,可以将Objective-C代码"翻译"为Xamarin C#代码。
首先你需要创建一个"纹理图谱"阵列
var textureCollection = new SKTextureAtlas[]
{
SKTextureAtlas.FromName("firsttexturename"),
SKTextureAtlas.FromName("secondtexturename"),
};
await SKTextureAtlas.PreloadTexturesAsync(textureCollection);
// rather than using a completion handler like in ObjC xamarin uses the c# 5's await keyword to achieve similar functions
//You can do what you want after it has preloaded here
//for example
this.StartScene()