TextureButton

Наследует: BaseButton < Control < CanvasItem < Node < Object

Кнопка на основе текстуры. Поддерживает состояния «Нажато», «Наведено», «Отключено» и «Сфокусировано».

Описание

TextureButton имеет ту же функциональность, что и Button, за исключением того, что он использует спрайты вместо ресурса Godot Theme. Он быстрее в создании, но не поддерживает локализацию, как более сложные Control.

См. также BaseButton, который содержит общие свойства и методы, связанные с этим узлом.

Примечание: Рекомендуется установить текстуру для «нормального» состояния (texture_normal). Если texture_normal не задано, TextureButton по-прежнему будет получать входные события и будет доступен для нажатия, но пользователь не сможет увидеть его, пока не активирует другое из его состояний с назначенной текстурой (например, наведет на него курсор, чтобы отобразить texture_hover).

Обучающие материалы

Свойства

bool

flip_h

false

bool

flip_v

false

bool

ignore_texture_size

false

StretchMode

stretch_mode

2

BitMap

texture_click_mask

Texture2D

texture_disabled

Texture2D

texture_focused

Texture2D

texture_hover

Texture2D

texture_normal

Texture2D

texture_pressed


Перечисления

enum StretchMode: 🔗

StretchMode STRETCH_SCALE = 0

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

StretchMode STRETCH_TILE = 1

Размещает в виде плиток, внутри ограничивающего прямоугольника узла.

StretchMode STRETCH_KEEP = 2

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

StretchMode STRETCH_KEEP_CENTERED = 3

Текстура сохраняет свой исходный размер и остается в центре ограничивающего прямоугольника узла.

StretchMode STRETCH_KEEP_ASPECT = 4

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

StretchMode STRETCH_KEEP_ASPECT_CENTERED = 5

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

StretchMode STRETCH_KEEP_ASPECT_COVERED = 6

Масштабируйте текстуру так, чтобы короткая сторона соответствовала ограничивающему прямоугольнику. Другая сторона обрезалась до границ узла.


Описания свойств

bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool is_flipped_h()

Если true, текстура отражена по горизонтали.


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool is_flipped_v()

Если true, текстура отражена по вертикали.


bool ignore_texture_size = false 🔗

  • void set_ignore_texture_size(value: bool)

  • bool get_ignore_texture_size()

Если true, размер текстуры не будет учитываться при расчете минимального размера, поэтому TextureButton можно уменьшить до размера, превышающего размер текстуры.


StretchMode stretch_mode = 2 🔗

Управляет поведением текстуры при изменении размера ограничивающего прямоугольника узла. См. константы StretchMode для доступных опций.


BitMap texture_click_mask 🔗

  • void set_click_mask(value: BitMap)

  • BitMap get_click_mask()

Черно-белое изображение BitMap для использования при обнаружении щелчка. На маске белые пиксели представляют собой область щелчка кнопки. Используйте ее для создания кнопок с изогнутыми формами.


Texture2D texture_disabled 🔗

Текстура для отображения, когда узел отключен. См. BaseButton.disabled. Если не назначено, TextureButton отображает texture_normal вместо этого.


Texture2D texture_focused 🔗

Текстура для наложения на базовую текстуру, когда узел имеет фокус мыши или клавиатуры. Поскольку texture_focused отображается поверх базовой текстуры, следует использовать частично прозрачную текстуру, чтобы гарантировать, что базовая текстура останется видимой. Текстура, представляющая контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте полностью прозрачную текстуру любого размера. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.


Texture2D texture_hover 🔗

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


Texture2D texture_normal 🔗

Текстура для отображения по умолчанию, когда узел не в отключенном, наведенном или нажатом состоянии. Эта текстура по-прежнему отображается в сфокусированном состоянии, с texture_focused нарисованным сверху.


Texture2D texture_pressed 🔗

Текстура, которая будет отображаться при наведении мыши на узел, если узел имеет фокус клавиатуры и игрок нажимает клавишу Enter или если игрок нажимает клавишу BaseButton.shortcut. Если не назначено, TextureButton отображает texture_hover вместо этого при нажатии.