SKShapeNode
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
Reflectable
-
NSCoding
-
NSCopying
-
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в iOS 7.0 и позже.
SKShapeNode
объект рисует форму, определенную Базовым Графическим контуром.
Графический контур является набором прямых линий и кривых, которые могут определить или открытые или закрытые подпути. Можно указать отдельное поведение рендеринга для заполненной и перечеркиваемой части пути. Каждая часть может быть представлена с помощью или сплошного цвета или текстуры; если необходимо представить более сложные эффекты, можно также использовать пользовательскую программу построения теней.
Узлы формы полезны для содержания, которое не может легко анализироваться в простые текстурированные спрайты. Узлы формы также очень полезны для создания и отображения отладочной информации поверх Вашего игрового содержания. Однако SKSpriteNode
класс предлагает более высокую производительность, чем этот класс, таким образом используйте узлы формы экономно.
Создание узла формы от пути показывает пример того, как создать узел формы. Пример создает круг с синей внутренней частью и белой схемой. Путь создается и присоединяется к узлу формы path
свойство.
SKShapeNode *ball = [[SKShapeNode alloc] init];
CGMutablePathRef myPath = CGPathCreateMutable();
CGPathAddArc(myPath, NULL, 0,0, 15, 0, M_PI*2, YES);
ball.path = myPath;
ball.lineWidth = 1.0;
ball.fillColor = [SKColor blueColor];
ball.strokeColor = [SKColor whiteColor];
ball.glowWidth = 0.5;
Вы видите от кода, что форма имеет три существенных элемента:
Внутренняя часть формы заполнена.
fillColor
свойство указывает, что цвет раньше заполнял внутреннюю часть.Схема формы представляется как строка.
strokeColor
иlineWidth
свойства определяют, как перечеркивается строка.Свечение расширяется от схемы.
glowWidth
иstrokeColor
свойства определяют свечение.
Можно отключить любой из этих элементов путем выбирания его цвета к [SKColor clearColor]
.
Узел формы обеспечивает свойства, позволяющие Вам управлять, как форма смешивается в кадровый буфер. Вы используете эти свойства тот же путь в качестве свойств SKSpriteNode
класс. Посмотрите Смешивание Sprite в Кадровый буфер.
-
Создает узел формы из Базового Графического контура.
Объявление
Swift
convenience init(path
path
: CGPath!)Objective C
+ (instancetype)shapeNodeWithPath:(CGPathRef)
path
Параметры
path
Базовый Графический контур для использования. Путь относительно источника узла.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы из Базового Графического контура.
Объявление
Swift
convenience init(path
path
: CGPath!, centeredcentered
: Bool)Objective C
+ (instancetype)shapeNodeWithPath:(CGPathRef)
path
centered:(BOOL)centered
Параметры
path
Базовый Графический контур для использования.
centered
Если
YES
true
, путь переводится так, чтобы центр ограничительной рамки пути был в источнике узла; иначе путь относительно источника узла.Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы с прямоугольным контуром.
Объявление
Swift
convenience init(rect
rect
: CGRect)Objective C
+ (instancetype)shapeNodeWithRect:(CGRect)
rect
Параметры
rect
Прямоугольник, относительно источника узла.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы с прямоугольным контуром, центрируемым на источнике узла.
Объявление
Swift
convenience init(rectOfSize
size
: CGSize)Objective C
+ (instancetype)shapeNodeWithRectOfSize:(CGSize)
size
Параметры
size
Размер прямоугольника.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает форму с прямоугольным контуром со скругленными углами.
Объявление
Swift
convenience init(rect
rect
: CGRect, cornerRadiuscornerRadius
: CGFloat)Параметры
rect
Прямоугольник, относительно источника узла.
cornerRadius
Радиус скругленных углов. Радиус не должен быть отрицательным числом. Значение должно быть не больше, чем половина ширины или высоты прямоугольника, какой бы ни меньше.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает форму с прямоугольным контуром со скругленными углами, центрируемыми на источнике узла.
Объявление
Swift
convenience init(rectOfSize
size
: CGSize, cornerRadiuscornerRadius
: CGFloat)Параметры
size
Размер прямоугольника.
cornerRadius
Радиус скругленных углов. Радиус не должен быть отрицательным числом. Значение должно быть не больше, чем половина ширины или высоты прямоугольника, какой бы ни меньше.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы с круговым путем, центрируемым на источнике узла.
Объявление
Swift
convenience init(circleOfRadius
radius
: CGFloat)Objective C
+ (instancetype)shapeNodeWithCircleOfRadius:(CGFloat)
radius
Параметры
radius
Радиус круга.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы с эллиптическим путем, центрируемым на источнике узла.
Объявление
Swift
convenience init(ellipseOfSize
size
: CGSize)Objective C
+ (instancetype)shapeNodeWithEllipseOfSize:(CGSize)
size
Параметры
size
Высота и ширина эллипса.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы с эллиптическим путем, заполняющим указанный прямоугольник.
Объявление
Swift
convenience init(ellipseInRect
rect
: CGRect)Objective C
+ (instancetype)shapeNodeWithEllipseInRect:(CGRect)
rect
Параметры
rect
Прямоугольник, относительно источника узла.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы из серии точек.
Объявление
Objective C
+ (instancetype)shapeNodeWithPoints:(CGPoint *)
points
count:(size_t)numPoints
Параметры
points
Массив Базовых Графических точек. Точки относительно источника узла.
numPoints
Число очков в массиве.
Возвращаемое значение
Новый узел формы. Узел создается с путем, запускающимся в первой точке в массиве, присоединяясь к каждой смежной паре точек с линейным сегментом.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
Создает узел формы из серии точек шлица.
Объявление
Objective C
+ (instancetype)shapeNodeWithSplinePoints:(CGPoint *)
points
count:(size_t)numPoints
Параметры
points
Массив Базовых Графических точек.
numPoints
Число очков в массиве.
Возвращаемое значение
Создается новый узел формы. Узел создается с путем, запускающимся в первой точке в массиве, присоединяясь к каждой паре точек с квадратичной кривой. Контрольные точки вычисляются автоматически на основе предыдущих точек в массиве.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
path
СвойствоПуть, определяющий форму.
Обсуждение
Путь определяется в координатном пространстве узла.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 7.0 и позже.
-
fillColor
СвойствоЦвет раньше заполнял форму.
Обсуждение
Цвет заливки по умолчанию
[SKColor clearColor]
, что означает, что форма не заполнена.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 7.0 и позже.
-
fillTexture
СвойствоТекстура раньше заполняла форму.
Объявление
Swift
var fillTexture: SKTexture?
Objective C
@property(nonatomic, retain) SKTexture *fillTexture
Обсуждение
Значение по умолчанию
nil
. Если текстура заливки указана,fillColor
свойство проигнорировано, и заполненная часть узла формы представляется с помощью текстуры вместо этого.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
fillShader
СвойствоПользовательская программа построения теней раньше определяла цвет заполненной части узла формы.
Объявление
Swift
var fillShader: SKShader?
Objective C
@property(nonatomic, retain) SKShader *fillShader
Обсуждение
Значение по умолчанию
nil
. Если программа построения теней заливки указана, когда узел формы нарисован, программа построения теней используется для определения цветов вывода для любой части узла формы, который заполнен.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
lineWidth
СвойствоШирина раньше перечеркивала путь.
Обсуждение
Ширина строки, больше, чем
2.0
может вызвать артефакты рендеринга в представленном изображении финала. Значение по умолчанию1.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 7.0 и позже.
-
glowWidth
СвойствоСвечение, расширяющееся исходящий от перечеркиваемой строки.
Обсуждение
Значение по умолчанию
0.0
, что означает, что не добавляется никакое свечение.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 7.0 и позже.
-
antialiased
СвойствоБулево значение, определяющее, сглаживается ли перечеркиваемый путь, когда нарисовано.
Объявление
Swift
var antialiased: Bool
Objective C
@property(nonatomic, getter=isAntialiased) BOOL antialiased
Обсуждение
Значение по умолчанию
YES
true
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 7.0 и позже.
-
strokeColor
СвойствоЦвет раньше перечеркивал форму.
Объявление
Swift
var strokeColor: UIColor
Objective C
@property(nonatomic, retain) UIColor *strokeColor
Обсуждение
Цвет обводки по умолчанию
[SKColor whiteColor]
. Если Вы не хотите перечеркивать форму, использовать[SKColor clearColor].
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 7.0 и позже.
-
strokeTexture
СвойствоТекстура раньше перечеркивала форму.
Объявление
Swift
var strokeTexture: SKTexture?
Objective C
@property(nonatomic, retain) SKTexture *strokeTexture
Обсуждение
Значение по умолчанию
nil
. Если штриховая текстура указана,strokeColor
свойство проигнорировано, и перечеркиваемая часть узла формы представляется с помощью текстуры вместо этого.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
strokeShader
СвойствоПользовательская программа построения теней раньше определяла цвет перечеркиваемой части узла формы.
Объявление
Swift
var strokeShader: SKShader?
Objective C
@property(nonatomic, retain) SKShader *strokeShader
Обсуждение
Значение по умолчанию
nil
. Если штриховая программа построения теней указана, когда узел формы нарисован, программа построения теней используется для определения цветов вывода для любой части перечеркивающегося узла формы.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
lineCap
СвойствоСтиль раньше представлял конечные точки перечеркиваемой части узла формы.
Обсуждение
Значение по умолчанию
kCGLineCapButt
. ПосмотритеCGLineCap
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
-
lineJoin
СвойствоКогда перечеркиваемая часть узла формы представляется, узловой тип использовал.
Обсуждение
Значение по умолчанию
kCGLineJoinBevel
. ПосмотритеCGLineJoin
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
miterLimit
СвойствоПредельный угол стыка для использования, когда строка перечеркивается с помощью стиля соединения среза.
Обсуждение
Если стиль соединения строки установлен в
kCGLineJoinMiter
, Набор Sprite использует предельный угол стыка, чтобы определить, нужно ли к строкам присоединиться со скосом вместо среза. Набор Sprite делит длину среза шириной строки. Если результат больше, чем предельный угол стыка, Набор Sprite преобразовывает стиль в скос.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
blendMode
СвойствоРежим смешивания раньше смешивал форму в кадровый буфер родителя.
Обсуждение
Значение по умолчанию
SKBlendModeAlpha
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 7.0 и позже.
-
lineLength
СвойствоДлина строки определяется узлом формы. (только для чтения)
Объявление
Swift
var lineLength: CGFloat { get }
Objective C
@property(nonatomic, readonly) CGFloat lineLength
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в iOS 8.0 и позже.