Я пытаюсь запрограммировать небольшую игру, используя быстрый. Я переводил какой-то старый код спрайта-кода obj-C и не нашел, как перевести этот код. В obj-C у SKACtion есть член, называемый hasActions, который сообщает вам, содержит ли vars действие, но в swift кажется, что свойство theses не существует, а также нет способа выполнить одно и то же действие.Проверьте, есть ли в SKAction действие (быстрое)
Оригинальный код OBJ-C:
SKAction *animAction = [self.player actionForKey:animationKey];
// If this animation is already running or there are no frames we exit
if (animAction || animationFrames.count < 1)
{
return;
}
Swift код
var animAction : SKAction = player.actionForKey(animationKey)!
// If this animation is already running or there are no frames we exit
if animAction || animationFrames.count < 1
{
return
}
переменная animationFrames.count
является массивом и не бросать какие-либо ошибки. Точная ошибка: «Тип» SkAction не соответствует протоколу BooleanType '
Заранее спасибо.
'animAction' должен быть дополнительный тип, чтобы проверить его на' nil'. Вы хотите проверить 'if animAction! = Nil ...' – vacawama
Я отредактировал == to! =, Извините за это. Переменная не обязательно должна быть опциональной, чтобы проверить ее на нуль. –
Переменная не может быть 'nil', если она не является необязательной. – vacawama