Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы SceneKit ссылка класса SCNText

Опции
Развертывание Target:

На этой странице
Язык:

SCNText

SCNText объект является геометрией, создающей ее содержание из строки текста, представленного в 2D и дополнительно вытесненного для создания трехмерного объекта.

Текстовый объект рисунка 1A в сцене image: ../Art/tex_floor.pdf

Вы обеспечиваете текст для геометрии с помощью NSString или NSAttributedString объект. В прежнем случае, свойствах SCNText объект определяет стиль и форматирование всей организации текста. При создании текстовой геометрии из приписанной строки SceneKit разрабатывает текст согласно атрибутам в строке и свойства SCNText объект определяет стиль по умолчанию для частей строки, не имеющих никаких атрибутов стиля. SceneKit может создать текстовую геометрию с помощью любого шрифта и стиля, поддерживаемого Базовой текстовой платформой, за исключением растровых шрифтов (таких как те, которые определяют цвет emoji символы).

В системе локальной координаты текстовой геометрии источник соответствует левому нижнему углу текста с текстом, расширяющимся в размерностях оси y и x-. Геометрия центрируется вдоль ее оси z. Например, если extrusionDepth свойство 1.0, геометрия расширяется от -0.5 к 0.5 вдоль оси z. Глубина экструзии нуля создает плоскую, одностороннюю форму — геометрия ограничена плоскостью, z-координата которой 0.0, и просматриваемый только от его передней стороны, если его материал doubleSided свойство YEStrue.

Чтобы расположить и ориентировать текстовую геометрию в сцене, присоедините его к geometry свойство SCNNode объект.

SceneKit может дополнительно закруглить кромки вытесненную текстовую геометрию путем применения перекрестного частного контура к его вытесненной глубине. Вы используете chamferRadius свойство для добавления закругления кромок к вытесненному тексту, и chamferProfile свойство для управления формой закругления кромок.

Текстовая геометрия может содержать один, три, или пять элементов геометрии:

  • Если extrusionDepth свойство 0.0, текстовая геометрия имеет один элемент, соответствующий его видимая сторона.

  • Если его глубина экструзии больше, чем нуль и его chamferRadius свойство 0.0, текстовая геометрия имеет три элемента, соответствуя ее передней стороне, назад, и вытесненным сторонам.

  • Если и глубина экструзии и радиус закругления кромок больше, чем нуль, текстовая геометрия имеет пять элементов, соответствуя ее передней стороне, назад, вытеснил стороны, переднее закругление кромок и заднее закругление кромок.

SceneKit может представить каждый элемент с помощью различного материала. Для получения дополнительной информации см. описание materials свойство в Ссылке класса SCNGeometry.

Наследование


Оператор импорта


Swift

import SceneKit

Objective C

@import SceneKit;

Доступность


Доступный в OS X v10.8 и позже.
  • Создает текстовую геометрию из указанной строки, вытесненной с указанной глубиной.

    Объявление

    Swift

    convenience init(string string: AnyObject, extrusionDepth extrusionDepth: CGFloat)

    Objective C

    + (instancetype)textWithString:(id)string extrusionDepth:(CGFloat)extrusionDepth

    Параметры

    string

    NSString или NSAttributedString объект, содержащий текст, из которого можно создать геометрию.

    extrusionDepth

    Степень текстовой геометрии в размерности Z ее пространства локальной координаты. Укажите глубину 0.0 создать 2D текст, ограниченный плоскостью.

    Возвращаемое значение

    Новая текстовая геометрия.

    Обсуждение

    В системе локальной координаты текстовой геометрии источник соответствует левому нижнему углу прямоугольника расположения текста с текстом, расширяющимся в размерностях оси y и x-. (SceneKit вычисляет прямоугольник расположения автоматически, или можно указать тот с помощью containerFrame свойство.) Геометрия центрируется вдоль ее оси z. Например, если extrusionDepth свойство 1.0, геометрия расширяется от -0.5 к 0.5 вдоль оси z. Глубина экструзии нуля создает плоскую, одностороннюю форму — геометрия ограничена плоскостью, z-координата которой 0.0, и просматриваемый только от его передней стороны, если его материал doubleSided свойство YEStrue.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • строка строка Свойство

    Строковый объект, текст которого геометрия представляет.

    Объявление

    Swift

    @NSCopying var string: AnyObject!

    Objective C

    @property(nonatomic, copy) id string

    Обсуждение

    Можно предоставить текст как NSString или NSAttributedString объект. Когда Вы используете NSString объект, текстовые свойства геометрии определяют стиль всей организации текста. Можно использовать NSAttributedString объект предоставить организации текста, содержащего многократные стили, когда текстовые свойства геометрии определяют стиль по умолчанию для частей строки без атрибутов стиля.

    Значение по умолчанию этого свойства nil, который создает пустую текстовую геометрию.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • шрифт шрифт Свойство

    Шрифт, что использование SceneKit для создания геометрии из текста.

    Объявление

    Swift

    var font: NSFont!

    Objective C

    @property(nonatomic, retain) NSFont *font

    Обсуждение

    Если текстовая геометрия string свойство NSString объект, SceneKit использует этот шрифт для рендеринга всего текста. Если string свойство NSAttributedString объект, SceneKit использует этот шрифт для любых частей строки, не содержащей атрибуты стиля.

    Стандартный шрифт является точкой Helvetica 36.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • containerFrame containerFrame Свойство

    Прямоугольник, указывающий область, в которой SceneKit должен разметить текст.

    Объявление

    Swift

    var containerFrame: CGRect

    Objective C

    @property(nonatomic) CGRect containerFrame

    Обсуждение

    SceneKit может разметить организацию текста для адаптации в прямоугольной области. Чтобы сделать это, необходимо сначала использовать это свойство для определения области для текстового расположения как прямоугольник в x-и размерностях оси y системы локальной координаты текстового объекта. Тогда Вы используете wrapped, alignmentMode, и truncationMode свойства, чтобы управлять, как SceneKit вмещает текст в контейнерный кадр. Текстовое расположение начинается в верхнем левом углу прямоугольника.

    Значение по умолчанию этого свойства CGRectZero, указание, что SceneKit должен разметить текст на одной строке, не переносясь или усечении.

    В зависимости от содержания и стиля текста и значений wrapped, alignmentMode, и truncationMode свойства, текст может не соответствовать в контейнерном кадре после расположения, или это может занять меньшую область.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Булево значение, указывающее, обертывает ли SceneKit длинные линии текста.

    Объявление

    Swift

    var wrapped: Bool

    Objective C

    @property(nonatomic, getter=isWrapped) BOOL wrapped

    Обсуждение

    Когда Вы определяете прямоугольник расположения для текста с помощью containerFrame свойство, SceneKit использует wrapped свойство, чтобы определить, переносится ли каждая строка текста, который более широк, чем прямоугольник расположения автоматически, на следующую строку.

    Значение по умолчанию этого свойства NOfalse, указание, что не переносятся длинные линии текста. (При указании контейнерного кадра длинные линии текста расширяются вне его ширины.)

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

    См. также

    containerFrame

  • alignmentMode alignmentMode Свойство

    Константа, указывающая, как SceneKit горизонтально выравнивает каждую строку текста в ее контейнере.

    Объявление

    Swift

    var alignmentMode: String!

    Objective C

    @property(nonatomic, copy) NSString *alignmentMode

    Обсуждение

    Когда Вы определяете прямоугольник расположения для текста с помощью containerFrame свойство, SceneKit использует alignmentMode свойство для определения, куда каждая строка текста помещается горизонтально относительно прямоугольника расположения. Для возможных значений посмотрите Horizontal_alignment_modes в ссылке класса CATextLayer.

    Значение по умолчанию этого свойства kCAAlignmentNatural, указание, что текст выровненный относительно выравнивания по умолчанию его сценария. (Например, слева направо языки выравниваются по левому краю.)

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

    См. также

    containerFrame

  • truncationMode truncationMode Свойство

    Константа, указывающая, как SceneKit усекает текст, который является слишком длинным для адаптации его контейнеру.

    Объявление

    Swift

    var truncationMode: String!

    Objective C

    @property(nonatomic, copy) NSString *truncationMode

    Обсуждение

    Когда Вы определяете прямоугольник расположения для текста с помощью containerFrame свойство, SceneKit использует truncationMode свойство, чтобы определить, как разметить текст, не помещающийся в прямоугольник расположения. Для возможных значений посмотрите Truncation_modes в ссылке класса CATextLayer.

    Значение по умолчанию этого свойства kCATruncationNone, указание, что SceneKit не должен усекать текст. Если wrapped свойство YEStrue, SceneKit продолжает автоматически обертывать каждую строку текста вне высоты прямоугольника расположения. Иначе, SceneKit не выводит на экран текст, который расширился бы вне прямоугольника расположения.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

    См. также

    containerFrame

  • textSize textSize Свойство

    Двумерная степень текста после расположения. (только для чтения)

    Объявление

    Swift

    var textSize: CGSize { get }

    Objective C

    @property(nonatomic, readonly) CGSize textSize

    Обсуждение

    Это свойство сообщает о размере самого маленького ограничительного прямоугольника, содержащего текст.

    Этот размер не обязательно соответствует размер прямоугольника расположения, указанного containerFrame свойство. Длинная организация текста может переполнить прямоугольника расположения, в зависимости от значений wrapped и truncationMode свойства и короткая строка текста могут поместиться в область, меньшую, чем прямоугольник расположения.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

    См. также

    containerFrame

  • Число, определяющее точность или гладкость текстовой геометрии.

    Объявление

    Swift

    var flatness: CGFloat

    Objective C

    @property(nonatomic) CGFloat flatness

    Обсуждение

    SceneKit использует линейные сегменты для приближения искривленных форм текстовых символов при преобразовании текста в трехмерную геометрию. (Эти сегменты становятся многоугольниками стороны, когда SceneKit вытесняет текст.) Более высокая плоскость оценивает результат в меньшем количестве сегментов, сокращая гладкость кривых и улучшая рендеринг производительности. Нижние значения приводят к большему количеству сегментов, увеличивая гладкость кривых по стоимости для рендеринга производительности.

    Значение по умолчанию этого свойства 0.6, указание, что линейные сегменты могут не отклониться от кривой больше чем 0,6 точками.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.9 и позже.

  • extrusionDepth extrusionDepth Свойство

    Степень вытесненного текста в направлении оси z. Animatable.

    Объявление

    Swift

    var extrusionDepth: CGFloat

    Objective C

    @property(nonatomic) CGFloat extrusionDepth

    Обсуждение

    Геометрия центрируется вдоль оси z ее пространства локальной координаты. Например, если его глубина экструзии, 1.0, геометрия расширяется от -0.5 к 0.5 вдоль оси z.

    Глубина экструзии 0.0 (значение по умолчанию), создает плоскую, одностороннюю форму.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • chamferRadius chamferRadius Свойство

    Ширина или глубина каждого закругленного кромки края. Animatable.

    Объявление

    Swift

    var chamferRadius: CGFloat

    Objective C

    @property(nonatomic) CGFloat chamferRadius

    Обсуждение

    Значение 0.0 (значение по умолчанию), или меньше не указывает закругления кромок — вытесненные стороны каждого символьного конца под прямым углом его передней и задней части.

    Максимальный радиус закругления кромок является половиной значения extrusionDepth свойство. В этом радиусе заканчивается переднее закругление кромок, где начинается заднее закругление кромок. Однако SceneKit может автоматически сократить радиус закругления кромок для символьных форм с тонкими обводками.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • chamferSegmentCount chamferSegmentCount (OS X v10.9) Свойство

    Число подразделений использование SceneKit для создания каждого закругленного кромки края текстовой геометрии. Animatable.

    Оператор осуждения

    flatness свойство управляет уровнем детализации и текста и его профиля закругления кромок.

    Объявление

    Objective C

    @property(nonatomic) NSInteger chamferSegmentCount

    Обсуждение

    Большее число сегментов добавляет больше данных вершины к геометрии, создавая более гладкую кривую для закругленных кромки краев по стоимости для рендеринга производительности.

    Количество сегмента по умолчанию 10. Установка значения этого свойства к числу меньше, чем 1 результаты в неопределенном поведении.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Доступность

    Доступный в OS X v10.8 и позже.

    Осуждаемый в OS X v10.9.

    См. также

    chamferRadius
    chamferProfile

  • chamferProfile chamferProfile Свойство

    Путь, определяющий перекрестный частный контур каждого закругленного кромки края.

    Объявление

    Swift

    @NSCopying var chamferProfile: NSBezierPath!

    Objective C

    @property(nonatomic, copy) NSBezierPath *chamferProfile

    Обсуждение

    Значение этого свойства должно быть двумерным путем, запускающимся в точке {1, 0} и окончание в точке {0, 1}, определение контура формы вдоль ее вытесненных сторон. Если значение этого свойства nil и значение chamferRadius свойство больше, чем нуль, SceneKit использует профиль закругления кромок в форме круга четверти. Рисунок 2 иллюстрирует, что различные профили закругления кромок применились к форме тильды (~) символ.

    Профили закругления кромок рисунка 2Example и их эффекты image: ../Art/chamfer_profile.pdf

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.9 и позже.