Как предварительно загрузить текстурный атлас (SKTextureAtlas) в Xamarin.iOS (в C#)?
Кто-нибудь, пожалуйста, покажите мне небольшой пример кода, написанный на C# в рамках Xamarin.iOS, который будет предварительно загружать атласы текстур?
Веб-сайт Xamarin имеет эту страницу:
https://developer.xamarin.com/api/type/MonoTouch.SpriteKit.SKTextureAtlas/
На этой веб-странице они перечисляют множество методов, которые предварительно загружают атласы текстур. Но меня интересуют только эти 2 метода:
PreloadTextures (SKTextureAtlas [], NSAction)
PreloadTexturesAsync (SKTextureAtlas [])
Я думаю, что оба метода будут хорошо работать для моей игры. К сожалению, я не знаю, как правильно вызывать их в C# в рамках Xamarin.iOS.
Хотя в Интернете есть много примеров кода для предварительной загрузки текстурных атласов, эти примеры написаны на Objective-C, и, к сожалению, я пока не знаю, как преобразовать код Objective C в код C#.
Итак, я был бы очень признателен, если бы вы могли показать мне, как написать несколько небольших примеров кода на C# в рамках Xamarin.iOS, которые предварительно загружают атласы текстур, используя два метода, которые я упомянул выше.
Большое спасибо.
1 ответ
Я не являюсь экспертом в разработке игр и не участвовал ни в одном из них ранее, однако я достаточно хорошо знаком с 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()