如何在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(C#)中预加载纹理图谱(SKTextureAtlas)

我不是游戏开发专家,以前也没有参与过游戏开发;然而,我对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()