/ / Swift SpriteKit Textures - swift, sprite-kit, текстури

Swift SpriteKit Textures - бърз, спрей-кит, текстури

Нефункционален код:

 if sprite.texture == "texture" {
(code)
}

Опитвам се да осъществя достъп до текстурата на спрайтастартирайте код, когато спрайтът има специфична текстура. В момента текстурата е само в моите активи, следователно в скобите. Може ли някой да измисли как да пренапише този код по начин, който ще работи?

Отговори:

1 за отговор № 1

sprite.texture е от типа SKTexture?, така че не можете да го сравните с низ, а по-скоро трябва да сравнявате с действителен SKTexture обект.

Независимо от това, трябва да се опитате да преработите вашиякод, както е предложено от другите в коментарите към вашия въпрос. Проверката на самата текстура не е добър дизайн. Например, ако решите да използвате различна текстура за спрайтите си след 2 месеца, тогава ще трябва да запомните, за да прегледате този код.

Бих предложил подкласиране от SKSpriteNode и да проверите дали типът на спрайт е същият като вашия подклас. Други алтернативи са за сравняване на sprite.name или спрайтът "s userData.