SKShapeNode
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 в Кадровый буфер.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
Печатаемый -
Reflectable -
NSCoding -
NSCopying -
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Создает узел формы из Базового Графического контура.
Объявление
Swift
convenience init(pathpath: CGPath!)Objective C
+ (instancetype)shapeNodeWithPath:(CGPathRef)pathПараметры
pathБазовый Графический контур для использования. Путь относительно источника узла.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы из Базового Графического контура.
Объявление
Swift
convenience init(pathpath: CGPath!, centeredcentered: Bool)Objective C
+ (instancetype)shapeNodeWithPath:(CGPathRef)pathcentered:(BOOL)centeredПараметры
pathБазовый Графический контур для использования.
centeredЕсли
YEStrue, путь переводится так, чтобы центр ограничительной рамки пути был в источнике узла; иначе путь относительно источника узла.Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы с прямоугольным контуром.
Объявление
Swift
convenience init(rectrect: CGRect)Objective C
+ (instancetype)shapeNodeWithRect:(CGRect)rectПараметры
rectПрямоугольник, относительно источника узла.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы с прямоугольным контуром, центрируемым на источнике узла.
Объявление
Swift
convenience init(rectOfSizesize: CGSize)Objective C
+ (instancetype)shapeNodeWithRectOfSize:(CGSize)sizeПараметры
sizeРазмер прямоугольника.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает форму с прямоугольным контуром со скругленными углами.
Объявление
Swift
convenience init(rectrect: CGRect, cornerRadiuscornerRadius: CGFloat)Параметры
rectПрямоугольник, относительно источника узла.
cornerRadiusРадиус скругленных углов. Радиус не должен быть отрицательным числом. Значение должно быть не больше, чем половина ширины или высоты прямоугольника, какой бы ни меньше.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает форму с прямоугольным контуром со скругленными углами, центрируемыми на источнике узла.
Объявление
Swift
convenience init(rectOfSizesize: CGSize, cornerRadiuscornerRadius: CGFloat)Параметры
sizeРазмер прямоугольника.
cornerRadiusРадиус скругленных углов. Радиус не должен быть отрицательным числом. Значение должно быть не больше, чем половина ширины или высоты прямоугольника, какой бы ни меньше.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы с круговым путем, центрируемым на источнике узла.
Объявление
Swift
convenience init(circleOfRadiusradius: CGFloat)Objective C
+ (instancetype)shapeNodeWithCircleOfRadius:(CGFloat)radiusПараметры
radiusРадиус круга.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы с эллиптическим путем, центрируемым на источнике узла.
Объявление
Swift
convenience init(ellipseOfSizesize: CGSize)Objective C
+ (instancetype)shapeNodeWithEllipseOfSize:(CGSize)sizeПараметры
sizeВысота и ширина эллипса.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы с эллиптическим путем, заполняющим указанный прямоугольник.
Объявление
Swift
convenience init(ellipseInRectrect: CGRect)Objective C
+ (instancetype)shapeNodeWithEllipseInRect:(CGRect)rectПараметры
rectПрямоугольник, относительно источника узла.
Возвращаемое значение
Новый узел формы.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы из серии точек.
Объявление
Swift
convenience init(pointspoints: UnsafeMutablePointer<CGPoint>, countnumPoints: UInt)Objective C
+ (instancetype)shapeNodeWithPoints:(CGPoint *)pointscount:(size_t)numPointsПараметры
pointsМассив Базовых Графических точек. Точки относительно источника узла.
numPointsЧисло очков в массиве.
Возвращаемое значение
Новый узел формы. Узел создается с путем, запускающимся в первой точке в массиве, присоединяясь к каждой смежной паре точек с линейным сегментом.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает узел формы из серии точек шлица.
Объявление
Swift
convenience init(splinePointspoints: UnsafeMutablePointer<CGPoint>, countnumPoints: UInt)Objective C
+ (instancetype)shapeNodeWithSplinePoints:(CGPoint *)pointscount:(size_t)numPointsПараметры
pointsМассив Базовых Графических точек.
numPointsЧисло очков в массиве.
Возвращаемое значение
Создается новый узел формы. Узел создается с путем, запускающимся в первой точке в массиве, присоединяясь к каждой паре точек с квадратичной кривой. Контрольные точки вычисляются автоматически на основе предыдущих точек в массиве.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Путь, определяющий форму.
Обсуждение
Путь определяется в координатном пространстве узла.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
цвет заливки цвет заливкиСвойствоЦвет раньше заполнял форму.
Обсуждение
Цвет заливки по умолчанию
[SKColor clearColor], что означает, что форма не заполнена.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
fillTexture fillTextureСвойствоТекстура раньше заполняла форму.
Объявление
Swift
var fillTexture: SKTexture?Objective C
@property(nonatomic, retain) SKTexture *fillTextureОбсуждение
Значение по умолчанию
nil. Если текстура заливки указана,fillColorсвойство проигнорировано, и заполненная часть узла формы представляется с помощью текстуры вместо этого.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
fillShader fillShaderСвойствоПользовательская программа построения теней раньше определяла цвет заполненной части узла формы.
Объявление
Swift
var fillShader: SKShader?Objective C
@property(nonatomic, retain) SKShader *fillShaderОбсуждение
Значение по умолчанию
nil. Если программа построения теней заливки указана, когда узел формы нарисован, программа построения теней используется для определения цветов вывода для любой части узла формы, который заполнен.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
ширина линий ширина линийСвойствоШирина раньше перечеркивала путь.
Обсуждение
Ширина строки, больше, чем
2.0может вызвать артефакты рендеринга в представленном изображении финала. Значение по умолчанию1.0.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
Свечение, расширяющееся исходящий от перечеркиваемой строки.
Обсуждение
Значение по умолчанию
0.0, что означает, что не добавляется никакое свечение.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
сглаженный сглаженныйСвойствоБулево значение, определяющее, сглаживается ли перечеркиваемый путь, когда нарисовано.
Объявление
Swift
var antialiased: BoolObjective C
@property(nonatomic, getter=isAntialiased) BOOL antialiasedОбсуждение
Значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
strokeColor strokeColorСвойствоЦвет раньше перечеркивал форму.
Объявление
Swift
var strokeColor: NSColorObjective C
@property(nonatomic, retain) NSColor *strokeColorОбсуждение
Цвет обводки по умолчанию
[SKColor whiteColor]. Если Вы не хотите перечеркивать форму, использовать[SKColor clearColor].Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
strokeTexture strokeTextureСвойствоТекстура раньше перечеркивала форму.
Объявление
Swift
var strokeTexture: SKTexture?Objective C
@property(nonatomic, retain) SKTexture *strokeTextureОбсуждение
Значение по умолчанию
nil. Если штриховая текстура указана,strokeColorсвойство проигнорировано, и перечеркиваемая часть узла формы представляется с помощью текстуры вместо этого.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
strokeShader strokeShaderСвойствоПользовательская программа построения теней раньше определяла цвет перечеркиваемой части узла формы.
Объявление
Swift
var strokeShader: SKShader?Objective C
@property(nonatomic, retain) SKShader *strokeShaderОбсуждение
Значение по умолчанию
nil. Если штриховая программа построения теней указана, когда узел формы нарисован, программа построения теней используется для определения цветов вывода для любой части перечеркивающегося узла формы.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Стиль раньше представлял конечные точки перечеркиваемой части узла формы.
Обсуждение
Значение по умолчанию
kCGLineCapButt. ПосмотритеCGLineCap.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Когда перечеркиваемая часть узла формы представляется, узловой тип использовал.
Обсуждение
Значение по умолчанию
kCGLineJoinBevel. ПосмотритеCGLineJoin.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
См. также
-
miterLimit miterLimitСвойствоПредельный угол стыка для использования, когда строка перечеркивается с помощью стиля соединения среза.
Обсуждение
Если стиль соединения строки установлен в
kCGLineJoinMiter, Набор Sprite использует предельный угол стыка, чтобы определить, нужно ли к строкам присоединиться со скосом вместо среза. Набор Sprite делит длину среза шириной строки. Если результат больше, чем предельный угол стыка, Набор Sprite преобразовывает стиль в скос.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Режим смешивания раньше смешивал форму в кадровый буфер родителя.
Обсуждение
Значение по умолчанию
SKBlendModeAlpha.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.9 и позже.
-
lineLength lineLengthСвойствоДлина строки определяется узлом формы. (только для чтения)
Объявление
Swift
var lineLength: CGFloat { get }Objective C
@property(nonatomic, readonly) CGFloat lineLengthОператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
