SKScene
SKScene
объект представляет сцену содержания в Наборе Sprite. Сцена является корневым узлом в дереве узлов Набора Sprite (SKNode
). Эти узлы обеспечивают содержание, которое сцена анимирует и представляет для дисплея. Для отображения сцены Вы представляете его от SKView
объект.
Сцена вычисляет содержание нового кадра путем обработки следующих действий в порядке:
Сцена вызывает
update:
метод.Сцена выполняет действия со своими дочерними элементами.
Сцена вызывает
didEvaluateActions
метод.Сцена выполняет любые моделирования физики на организациях физики в сцене.
Сцена вызывает
didSimulatePhysics
метод.Сцена применяет любые ограничения, связанные с узлами в сцене.
Сцена вызывает
didApplyConstraints
метод.Сцена вызывает
didFinishUpdate
метод.Сцена представляет все свои узлы и обновляет представление для отображения нового содержания.
Ваша игра может обеспечить объект делегата для сцены. Протокол делегата указывает ряд методов, соответствующих упомянутым выше методам. Если делегату предоставлены, и это реализует один из этих методов, метод делегата вызывают вместо метода сцены.
Разделение на подклассы примечаний
Часто, Ваша игра разделяет сцену на подклассы для поставки геймплея. Ваш подкласс обычно:
Создает начальное содержание сцены
Игровая логика реализаций, происходящая каждый раз кадр, обрабатывается
Методы респондента реализаций для обработки клавиатуры, мыши или сенсорных событий
Альтернативный образец к разделению на подклассы SKScene
класс должен использовать делегата, реализующего большую часть игровой логики. Например, в игре iOS, можно сделать контроллер представления делегатом к сцене. Контроллер представления уже участвует в обработке событий и может выполнить все другие необходимые режимы работы, описанные выше.
Наследование
-
NSObject
-
NSResponder
-
SKNode
-
SKEffectNode
-
SKScene
-
NSObject
-
NSResponder
-
SKNode
-
SKEffectNode
-
SKScene
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSCopying
-
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Создает и возвращает новый объект сцены.
Объявление
Objective C
+ (instancetype)sceneWithSize:(CGSize)
size
Параметры
size
Размер сцены в точках.
Возвращаемое значение
Новый объект сцены.
Обсуждение
Этот метод класса выделяет новый объект сцены и вызывает
initWithSize:
метод инициализатора.Оператор импорта
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Инициализирует новый объект сцены.
Параметры
size
Размер сцены в точках.
Возвращаемое значение
Недавно инициализированный объект сцены.
Обсуждение
Это - определяемый метод инициализатора класса.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
точка привязки точка привязки
СвойствоТочка в кадре представления, соответствующем источнику сцены.
Обсуждение
Когда сцена представлена,
size
иanchorPoint
свойства определяют часть координатного пространства сцены, которое видимо в представлении.Вы указываете значение с помощью координатного пространства модуля. Значение по умолчанию
(0,0)
, который соответствует нижнему левому углу прямоугольника кадра представления.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Размерности сцены в точках.
Обсуждение
Когда сцена представлена,
size
иanchorPoint
свойства определяют часть координатного пространства сцены, которое видимо в представлении.Если Вы устанавливаете
size
свойство к новому значению, сценаdidChangeSize:
метод вызывают. Это свойство может также измениться еслиscaleMode
свойство установлено вSKSceneScaleModeResizeFill
и представление представления изменено. После изменений размера сцены будущие обновления сразу представляются в новом размере.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Вызванный каждый раз, когда изменяется размер сцены.
Объявление
Swift
func didChangeSize(_
oldSize
: CGSize)Objective C
- (void)didChangeSize:(CGSize)
oldSize
Параметры
oldSize
Старый размер сцены, в точках.
Обсуждение
Этот метод предназначается, чтобы быть переопределенным в подклассе. Как правило, Вы используете этот метод для корректировки позиций узлов в сцене.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Определяет, как сцена отображается на представлении, представляющем ее.
Объявление
Swift
var scaleMode: SKSceneScaleMode
Objective C
@property(nonatomic) SKSceneScaleMode scaleMode
Обсуждение
Для размера сцены возможно отличаться от размера представления, в котором это представлено. Режим масштаба определяет, как сцена отображается на представлении. Возможные значения перечислены в
“Scene Scaling Modes”
. Значение по умолчаниюSKSceneScaleModeFill
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
backgroundColor backgroundColor
СвойствоЦвет фона сцены.
Объявление
Swift
var backgroundColor: NSColor
Objective C
@property(nonatomic, retain) NSColor *backgroundColor
Обсуждение
Значение по умолчанию является серым цветом (RGBA
0.15, 0.15, 0.15, 1.0)
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Преобразовывает точку от координат представления до координат сцены.
Объявление
Параметры
point
Точка в поле зрения координирует.
Возвращаемое значение
Та же точка в системе координат сцены.
Обсуждение
Сцена должна быть представлена в представлении прежде, чем вызвать этот метод.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Преобразовывает точку из координат сцены для просмотра координат.
Объявление
Параметры
point
Точка в координатах сцены.
Возвращаемое значение
Та же точка в системе координат представления.
Обсуждение
Сцена должна быть представлена в представлении прежде, чем вызвать этот метод.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Вызванный сразу, прежде чем сцена удалена из представления.
Объявление
Swift
func willMoveFromView(_
view
: SKView)Objective C
- (void)willMoveFromView:(SKView *)
view
Параметры
view
Представление, представляющее сцену.
Обсуждение
Этот метод предназначается, чтобы быть переопределенным в подклассе. Можно использовать этот метод для реализации любого пользовательского поведения для сцены, когда это собирается быть удаленным из представления.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Вызванный сразу после того, как сцена представлена представлением.
Объявление
Swift
func didMoveToView(_
view
: SKView)Objective C
- (void)didMoveToView:(SKView *)
view
Параметры
view
Представление, представляющее сцену.
Обсуждение
Этот метод предназначается, чтобы быть переопределенным в подклассе. Можно использовать этот метод для реализации любого пользовательского поведения для сцены, когда это собирается быть представленным представлением. Например, Вы могли бы использовать этот метод для создания содержания сцены.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
представление представление
СвойствоПредставление, в настоящее время представляющее сцену. (только для чтения)
Объявление
Swift
weak var view: SKView? { get }
Objective C
@property(nonatomic, weak, readonly) SKView *view
Обсуждение
Для представления сцены Вы вызываете
presentScene:
метод илиpresentScene:transition:
метод наSKView
класс. Если сцена в настоящее время не представляется, это свойство содержитnil
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Делегат, которого вызовут во время цикла анимации.
Объявление
Swift
unowned(unsafe) var delegate: SKSceneDelegate?
Objective C
@property(nonatomic, assign) id< SKSceneDelegate > delegate
Обсуждение
Когда делегат присутствует, когда любой из шагов методов цикла анимации выполняется, Вашего делегата вызывают. Как правило, Вы используете делегата, когда Вы не хотите реализовывать подкласс сцены или если Вы хотите динамично изменить поведение сцены во время выполнения.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.10 и позже.
-
Выполняет любые специфичные для сцены обновления, которые должны произойти, прежде чем действия сцены оценены.
Объявление
Swift
func update(_
currentTime
: NSTimeInterval)Objective C
- (void)update:(NSTimeInterval)
currentTime
Параметры
currentTime
Текущее системное время.
Обсуждение
Не вызывайте этот метод непосредственно; это вызывают точно один раз на кадр, пока сцена представлена в представлении и не приостанавливается. По умолчанию этот метод ничего не делает. Ваш подкласс сцены должен переопределить этот метод и выполнить любые необходимые обновления к сцене.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Выполняет любые специфичные для сцены обновления, которые должны произойти после того, как действия сцены оценены.
Объявление
Swift
func didEvaluateActions()
Objective C
- (void)didEvaluateActions
Обсуждение
Не вызывайте этот метод непосредственно; это вызывают точно один раз на кадр, пока сцена представлена в представлении и не приостанавливается. По умолчанию этот метод ничего не делает. Ваш подкласс сцены должен переопределить этот метод и выполнить любые необходимые обновления к сцене.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Выполняет любые специфичные для сцены обновления, которые должны произойти после того, как моделирования физики выполняются.
Объявление
Swift
func didSimulatePhysics()
Objective C
- (void)didSimulatePhysics
Обсуждение
Не вызывайте этот метод непосредственно; это вызывают точно один раз на кадр, пока сцена представлена в представлении и не приостанавливается. По умолчанию этот метод ничего не делает. Ваш подкласс сцены должен переопределить этот метод и выполнить любые необходимые обновления к сцене.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Выполняет любые специфичные для сцены обновления, которые должны произойти после того, как ограничения применяются.
Объявление
Swift
func didApplyConstraints()
Objective C
- (void)didApplyConstraints
Обсуждение
Не вызывайте этот метод непосредственно; это вызывают точно один раз на кадр, пока сцена представлена в представлении и не приостанавливается. По умолчанию этот метод ничего не делает. Ваш подкласс сцены должен переопределить этот метод и выполнить любые необходимые обновления к сцене.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.10 и позже.
-
Вызванный после того, как сцена закончила все шаги, требуемые обработать анимации.
Объявление
Swift
func didFinishUpdate()
Objective C
- (void)didFinishUpdate
Обсуждение
Не вызывайте этот метод непосредственно; это вызывают точно один раз на кадр, пока сцена представлена в представлении и не приостанавливается. По умолчанию этот метод ничего не делает. Ваш подкласс сцены должен переопределить этот метод и выполнить любые необходимые обновления к сцене. Этот метод является последним методом, который вызовут, прежде чем будет представлена сцена.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.10 и позже.
-
physicsWorld physicsWorld
СвойствоМоделирование физики связалось со сценой. (только для чтения)
Объявление
Swift
var physicsWorld: SKPhysicsWorld { get }
Objective C
@property(nonatomic, readonly) SKPhysicsWorld *physicsWorld
Обсуждение
Каждая сцена автоматически создает объект мира физики моделировать физику на узлах в сцене. Вы используете это свойство для доступа к глобальным свойствам физики сцены, таким как сила тяжести. Для добавления физики к определенному узлу посмотрите
physicsBody
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Режимы, определяющие, как область сцены отображается на представлении, представляющем ее.
Объявление
Swift
enum SKSceneScaleMode : Int { case Fill case AspectFill case AspectFit case ResizeFill }
Objective C
typedef NS_ENUM (NSInteger, SKSceneScaleMode ) { SKSceneScaleModeFill, SKSceneScaleModeAspectFill, SKSceneScaleModeAspectFit, SKSceneScaleModeResizeFill }
Константы
-
Fill
SKSceneScaleModeFill
Каждая ось сцены масштабируется независимо так, чтобы каждая ось в сцене точно отобразилась на длину той оси в представлении.
Доступный в OS X v10.9 и позже.
-
AspectFill
SKSceneScaleModeAspectFill
Масштабный коэффициент каждой размерности вычисляется, и больший из этих двух выбран. Каждая ось сцены масштабируется тем же масштабным коэффициентом. Это гарантирует, что вся область представления заполнена, но может заставить части сцены быть обрезанными.
Доступный в OS X v10.9 и позже.
-
AspectFit
SKSceneScaleModeAspectFit
Масштабный коэффициент каждой размерности вычисляется, и меньший из этих двух выбран. Каждая ось сцены масштабируется тем же масштабным коэффициентом. Это гарантирует, что вся сцена видима, но может потребовать добавления черных полос сверху и снизу в представлении.
Доступный в OS X v10.9 и позже.
-
ResizeFill
SKSceneScaleModeResizeFill
Сцена не масштабируется для соответствия представления. Вместо этого сцена автоматически изменена так, чтобы ее размерности всегда соответствовали те из представления.
Доступный в OS X v10.9 и позже.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-