Поделиться через


SKSpriteNode Конструкторы

Определение

Перегрузки

SKSpriteNode()

Конструктор по умолчанию инициализирует новый экземпляр этого класса.

SKSpriteNode(SKTexture, UIColor, CGSize)

Создает новый SKSpriteNode объект , текстурированный с textureпомощью . Чтобы включить color, разработчики должны задать .ColorBlendFactor

SKSpriteNode(UIColor, CGSize)

SKSpriteNode Создает объект , представляющий собой цветной прямоугольник указанного sizeобъекта .

SKSpriteNode(NSColor, CGSize)
SKSpriteNode(String)

Создает новый объект SKSpriteNode с заданным дескриптором name.

SKSpriteNode(SKTexture, NSColor, CGSize)
SKSpriteNode(SKTexture)

Создает объект , SKSpriteNode для которого Texture задано значение texture.

SKSpriteNode(NSObjectFlag)

Конструктор для вызова производных классов для пропуска инициализации и просто выделения объекта.

SKSpriteNode(NSCoder)

Конструктор, который инициализирует объект из данных, хранящихся в объекте unarchiver.

SKSpriteNode(IntPtr)

Конструктор, используемый при создании управляемых представлений неуправляемых объектов; Вызывается средой выполнения.

SKSpriteNode()

Конструктор по умолчанию инициализирует новый экземпляр этого класса.

[Foundation.Export("init")]
public SKSpriteNode ();
Атрибуты

Применяется к

SKSpriteNode(SKTexture, UIColor, CGSize)

Создает новый SKSpriteNode объект , текстурированный с textureпомощью . Чтобы включить color, разработчики должны задать .ColorBlendFactor

[Foundation.Export("initWithTexture:color:size:")]
[ObjCRuntime.DesignatedInitializer]
public SKSpriteNode (SpriteKit.SKTexture texture, UIKit.UIColor color, CoreGraphics.CGSize size);
new SpriteKit.SKSpriteNode : SpriteKit.SKTexture * UIKit.UIColor * CoreGraphics.CGSize -> SpriteKit.SKSpriteNode

Параметры

texture
SKTexture

Будет добавлено.

Этот параметр может иметь значение null.

color
UIColor

Будет добавлено.

Этот параметр может иметь значение null.

size
CGSize
Атрибуты

Применяется к

SKSpriteNode(UIColor, CGSize)

SKSpriteNode Создает объект , представляющий собой цветной прямоугольник указанного sizeобъекта .

[Foundation.Export("initWithColor:size:")]
public SKSpriteNode (UIKit.UIColor color, CoreGraphics.CGSize size);
new SpriteKit.SKSpriteNode : UIKit.UIColor * CoreGraphics.CGSize -> SpriteKit.SKSpriteNode

Параметры

color
UIColor

Будет добавлено.

Этот параметр может иметь значение null.

size
CGSize
Атрибуты

Применяется к

SKSpriteNode(NSColor, CGSize)

[Foundation.Export("initWithColor:size:")]
public SKSpriteNode (AppKit.NSColor color, CoreGraphics.CGSize size);
new SpriteKit.SKSpriteNode : AppKit.NSColor * CoreGraphics.CGSize -> SpriteKit.SKSpriteNode

Параметры

color
NSColor
size
CGSize
Атрибуты

Применяется к

SKSpriteNode(String)

Создает новый объект SKSpriteNode с заданным дескриптором name.

[Foundation.Export("initWithImageNamed:")]
public SKSpriteNode (string name);
new SpriteKit.SKSpriteNode : string -> SpriteKit.SKSpriteNode

Параметры

name
String
Атрибуты

Применяется к

SKSpriteNode(SKTexture, NSColor, CGSize)

[Foundation.Export("initWithTexture:color:size:")]
[ObjCRuntime.DesignatedInitializer]
public SKSpriteNode (SpriteKit.SKTexture texture, AppKit.NSColor color, CoreGraphics.CGSize size);
new SpriteKit.SKSpriteNode : SpriteKit.SKTexture * AppKit.NSColor * CoreGraphics.CGSize -> SpriteKit.SKSpriteNode

Параметры

texture
SKTexture
color
NSColor
size
CGSize
Атрибуты

Применяется к

SKSpriteNode(SKTexture)

Создает объект , SKSpriteNode для которого Texture задано значение texture.

[Foundation.Export("initWithTexture:")]
public SKSpriteNode (SpriteKit.SKTexture texture);
new SpriteKit.SKSpriteNode : SpriteKit.SKTexture -> SpriteKit.SKSpriteNode

Параметры

texture
SKTexture

Будет добавлено.

Этот параметр может иметь значение null.

Атрибуты

Применяется к

SKSpriteNode(NSObjectFlag)

Конструктор для вызова производных классов для пропуска инициализации и просто выделения объекта.

protected SKSpriteNode (Foundation.NSObjectFlag t);
new SpriteKit.SKSpriteNode : Foundation.NSObjectFlag -> SpriteKit.SKSpriteNode

Параметры

t
NSObjectFlag

Неиспользуемое значение sentinel, передайте NSObjectFlag.Empty.

Комментарии

Этот конструктор должен вызываться производными классами, когда они полностью создают объект в управляемом коде и просто хотят, чтобы среда выполнения выделила и инициализировала NSObject. Это необходимо для реализации двухфакторного процесса инициализации, который использует Objective-C. Первый шаг — выделение объекта, второй шаг — инициализация объекта. Когда разработчики вызывают конструктор, который принимает NSObjectFlag.Empty, они используют прямой путь вплоть до NSObject, чтобы просто выделить память объекта и связать объекты Objective-C и C# вместе. Фактическая инициализация объекта выполняется разработчиком.

Этот конструктор обычно используется генератором привязки для выделения объекта, но предотвращает фактическую инициализацию. После выделения конструктор должен инициализировать объект . При использовании конструкторов, созданных генератором привязки, это означает, что он вручную вызывает один из методов init для инициализации объекта.

Разработчик несет ответственность за полную инициализацию объекта, если они связаны с использованием пути NSObjectFlag.Empty.

Как правило, если конструктор разработчика вызывает базовую реализацию NSObjectFlag.Empty, он должен вызывать метод инициализации Objective-C. Если это не так, разработчики должны вместо этого привязать к соответствующему конструктору в своем классе.

Значение аргумента игнорируется и просто гарантирует, что единственным выполняемым кодом является этап построения, является базовое выделение NSObject и регистрация типа среды выполнения. Обычно цепочка выглядит следующим образом:

//
// The NSObjectFlag merely allocates the object and registers the
// C# class with the Objective-C runtime if necessary, but no actual
// initXxx method is invoked, that is done later in the constructor
//
// This is taken from Xamarin.iOS's source code:
//
[Export ("initWithFrame:")]
public UIView (System.Drawing.RectangleF frame) : base (NSObjectFlag.Empty)
{
// Invoke the init method now.
	var initWithFrame = new Selector ("initWithFrame:").Handle;
	if (IsDirectBinding)
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSend_CGRect (this.Handle, initWithFrame, frame);
	else
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_CGRect (this.SuperHandle, initWithFrame, frame);
}

Применяется к

SKSpriteNode(NSCoder)

Конструктор, который инициализирует объект из данных, хранящихся в объекте unarchiver.

[Foundation.Export("initWithCoder:")]
[ObjCRuntime.DesignatedInitializer]
public SKSpriteNode (Foundation.NSCoder coder);
new SpriteKit.SKSpriteNode : Foundation.NSCoder -> SpriteKit.SKSpriteNode

Параметры

coder
NSCoder

Объект unarchiver.

Атрибуты

Комментарии

Этот конструктор предоставляется для инициализации класса из неархиватора (например, во время десериализации NIB). Это часть NSCoding протокола.

Если разработчики хотят создать подкласс этого объекта и продолжать поддерживать десериализацию из архива, они должны реализовать конструктор с идентичной сигнатурой: взяв один параметр типа NSCoder и дополнив его объявлением атрибута [Export("initWithCoder:"].

Состояние этого объекта также можно сериализовать с помощью вспомогательного метода EncodeTo.

Применяется к

SKSpriteNode(IntPtr)

Конструктор, используемый при создании управляемых представлений неуправляемых объектов; Вызывается средой выполнения.

protected internal SKSpriteNode (IntPtr handle);
new SpriteKit.SKSpriteNode : nativeint -> SpriteKit.SKSpriteNode

Параметры

handle
IntPtr

nativeint

Указатель (дескриптор) на неуправляемый объект.

Комментарии

Этот конструктор вызывается инфраструктурой среды выполнения (GetNSObject(IntPtr)) для создания нового управляемого представления указателя на неуправляемый объект Objective-C. Разработчики не должны вызывать этот метод напрямую, вместо этого они должны вызывать метод GetNSObject, так как это не позволит двум экземплярам управляемого объекта указывать на один и тот же собственный объект.

Применяется к