SKTransition
SKTransition объект используется для выполнения анимированного перехода между a SKScene возразите уже представленный SKView возразите и новая входящая сцена.
Сцены являются основными стандартными блоками игр. Как правило, Вы разрабатываете автономные сцены для частей Вашей игры, и затем переход между этими сценами по мере необходимости. Например, Вы могли бы создать различные классы сцены для представления любых из следующих понятий:
Загружающаяся сцена для отображения, в то время как загружается другое содержание
Сцена главного меню для выбора, какой играют пользователь, хочет играть
Сцена для конфигурирования подробных данных определенного вида игры пользователь выбрала
Сцена, обеспечивающая геймплей
Когда геймплей заканчивается, сцена вывела на экран
Когда Вы представляете новую сцену в представлении, уже представляющем сцену, у Вас есть опция использования перехода для анимации изменения от старой сцены до новой сцены. Используя переход обеспечивает непрерывность так, чтобы изменение сцены было не совсем настолько резким.
Переход между двумя сценами
Как правило, Вы переходите к новой сцене на основе геймплея или ввода данных пользователем. Например, если пользователь нажимает кнопку в Вашей сцене главного меню, Вы могли бы перейти к новой сцене для конфигурирования матча, который проигрыватель хочет сыграть. Переход к новой сцене показывает, как Вы могли бы реализовать обработчик событий в спрайте. Обработчик сначала выполняет анимацию на себе для выделения кнопки (не описанный здесь). Затем это создает объект перехода и новую сцену. Наконец, это вызывает представление для представления новой сцены. Переход означает, что анимировано это изменение.
- (void)mouseUp:(NSEvent *)theEvent{[self runAction: self.buttonPressAnimation];SKTransition *reveal = [SKTransition revealWithDirection:SKTransitionDirectionDown duration:1.0];GameConfigScene *newScene = [[GameConfigScene alloc] initWithSize: CGSizeMake(1024,768)]];[self.scene.view presentScene: newScene transition: reveal];}
Когда переход происходит, свойство сцены сразу обновляется для указания на новую сцену. Затем анимация происходит. Наконец, сильная ссылка к старой сцене удалена. Если необходимо иметь в наличии сцену после того, как переход происходит, приложение должно сохранить свою собственную сильную ссылку к старой сцене.
При организации игры может быть полезно создать схему, показывающую все сцены в игре, переходы, происходящие между сценами и данными, которые должны быть переданы новой сцене, когда происходит переход. В отличие от контроллеров представления в iOS, Набор Sprite не обеспечивает встроенный механизм для передающих данных между сценами. Если необходимо предоставить данные во время перехода сцены, необходимо реализовать собственный механизм для конфигурирования новой сцены. Как правило, это означает определять пользовательские методы и свойства на каждой сцене.
Конфигурирование, ли игра анимаций во время перехода
pausesIncomingScene и pausesOutgoingScene свойства на объекте перехода определяют, какие анимации играются во время перехода. По умолчанию обе сцены приостанавливаются во время перехода. Однако Вы могли бы хотеть включить анимацию на любой сцене во время перехода. Например, рассмотрите код снова в Переходе к новой сцене. Поскольку кнопка собирается выполнить действие, этот код ожидает, что будет анимирована исходящая сцена. Но возможно входящая сцена не должна анимировать свое содержание, пока не завершается переход. Добавление кода в Приостанавливающейся обработке кадра во время перехода имеет желаемый эффект.
reveal.pausesOutgoingScene = YES;reveal.pausesIncomingScene = NO;
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Создает крест, исчезают переход.
Объявление
Swift
class func crossFadeWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)crossFadeWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где новая сцена появляется как пара заключительных горизонтальных дверей.
Объявление
Swift
class func doorsCloseHorizontalWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)doorsCloseHorizontalWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где новая сцена появляется как пара закрытия вертикальных дверей.
Объявление
Swift
class func doorsCloseVerticalWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)doorsCloseVerticalWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где новая сцена появляется как пара вводных горизонтальных дверей.
Объявление
Swift
class func doorsOpenHorizontalWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)doorsOpenHorizontalWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где новая сцена появляется как пара открытия вертикальных дверей.
Объявление
Swift
class func doorsOpenVerticalWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)doorsOpenVerticalWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где предыдущая сцена исчезает как пара вводных дверей. Новая сцена запускается в фоновом режиме и придвигается поближе, когда открываются двери.
Объявление
Swift
class func doorwayWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)doorwayWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, сначала исчезающий к постоянному цвету и затем исчезающий к новой сцене.
Объявление
Swift
class func fadeWithColor(_color: NSColor, durationsec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)fadeWithColor:(NSColor *)colorduration:(NSTimeInterval)secПараметры
colorЦвет для использования в качестве исчезнуть цвета.
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, сначала исчезающий к черному цвету и затем исчезающий к новой сцене.
Объявление
Swift
class func fadeWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)fadeWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где эти две сцены зеркально отражаются через горизонтальную строку, пробегающую центр представления.
Объявление
Swift
class func flipHorizontalWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)flipHorizontalWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где эти две сцены зеркально отражаются через вертикальную строку, пробегающую центр представления.
Объявление
Swift
class func flipVerticalWithDuration(_sec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)flipVerticalWithDuration:(NSTimeInterval)secПараметры
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где новая сцена приближается поверх старой сцены.
Объявление
Swift
class func moveInWithDirection(_direction: SKTransitionDirection, durationsec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)moveInWithDirection:(SKTransitionDirection)directionduration:(NSTimeInterval)secПараметры
directionНаправление перемещения. Возможные значения описаны в Направлениях Перехода.
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, где новая сцена приближается, продвигая старую сцену из представления.
Объявление
Swift
class func pushWithDirection(_direction: SKTransitionDirection, durationsec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)pushWithDirection:(SKTransitionDirection)directionduration:(NSTimeInterval)secПараметры
directionНаправление нажатия. Возможные значения описаны в Направлениях Перехода.
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, куда старая сцена перемещается из представления, показывая новую сцену под ним.
Объявление
Swift
class func revealWithDirection(_direction: SKTransitionDirection, durationsec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)revealWithDirection:(SKTransitionDirection)directionduration:(NSTimeInterval)secПараметры
directionНаправление раскрытия. Возможные значения описаны в Направлениях Перехода.
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Создает переход, использующий Базовый фильтр Изображения для выполнения перехода.
Объявление
Swift
init(CIFilterfilter: CIFilter, durationsec: NSTimeInterval) -> SKTransitionObjective C
+ (SKTransition *)transitionWithCIFilter:(CIFilter *)filterduration:(NSTimeInterval)secПараметры
filterБазовый фильтр Изображения.
secПродолжительность перехода.
Возвращаемое значение
Новый переход.
Обсуждение
Фильтр, используемый для выполнения перехода, должен быть фильтром, требующим только двух параметров изображения (
inputImage,inputTargetImage) и генерирует единственное изображение (outputImage). Переход автоматически устанавливает фильтрinputImage,inputTargetImage, иinputTimeсвойства. Необходимо установить любые другие свойства фильтра прежде, чем создать переход.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
pausesIncomingScene pausesIncomingSceneСвойствоБулево значение, определяющее, приостанавливается ли входящая сцена во время перехода.
Объявление
Swift
var pausesIncomingScene: BoolObjective C
@property(nonatomic) BOOL pausesIncomingSceneОбсуждение
Значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
pausesOutgoingScene pausesOutgoingSceneСвойствоБулево значение, определяющее, приостанавливается ли исходящая сцена во время перехода.
Объявление
Swift
var pausesOutgoingScene: BoolObjective C
@property(nonatomic) BOOL pausesOutgoingSceneОбсуждение
Значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Для некоторых переходов, направления, в котором выполняется переход.
Объявление
Swift
enum SKTransitionDirection : Int { case Up case Down case Right case Left }Objective C
typedef NS_ENUM (NSInteger, SKTransitionDirection ) { SKTransitionDirectionUp, SKTransitionDirectionDown, SKTransitionDirectionRight, SKTransitionDirectionLeft, };Константы
-
UpSKTransitionDirectionUpПереход восстанавливает работоспособность.
Доступный в OS X v10.9 и позже.
-
DownSKTransitionDirectionDownПереход теряет работоспособность.
Доступный в OS X v10.9 и позже.
-
RightSKTransitionDirectionRightПереход идет право.
Доступный в OS X v10.9 и позже.
-
LeftSKTransitionDirectionLeftПереход идет оставленный.
Доступный в OS X v10.9 и позже.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
