PackedScene

Успадковує: Resource < RefCounted < Object

Анотація послідовної сцени.

Опис

Спрощений інтерфейс для файлу сцени. Надає доступ до операцій і перевірок, які можна виконати на самому ресурсі сцени.

Можна використовувати для збереження вузла у файл. Під час збереження зберігається вузол, а також усі вузли, якими він володіє (див. властивість Node.owner).

Примітка: Вузол не повинен володіти собою.

Приклад: Завантажте збережену сцену:

# Використовуйте load() замість preload(), якщо шлях невідомий під час компіляції.
var scene = preload("res://scene.tscn").instantiate()
# Додайте вузол як дочірній вузол, до якого приєднаний скрипта.
add_child (scene)

Приклад: Збережіть вузол з іншими власниками. У наступному прикладі створено 3 об’єкти: Node2D (вузол), RigidBody2D (body) і CollisionObject2D (collision). колізія є дочірнім елементом body, який є дочірнім для node. Тільки body належить node, тому pack() збереже лише ці два вузли, але не колізію.

# Створення об'єктів.
var node = Node2D.new()
var body = RigidBody2D.new()
var collision = CollisionShape2D.new()

# Створення ієрархії об'єктів.
body.add_child(collision)
node.add_child(body)

# Змінити власника `body`, але не `collision`.
body.owner = node
var scene = PackedScene.new()

# Тепер упаковано лише `node` і `body`.
var result = scene.pack(node)
   if result == OK:
    var error = ResourceSaver.save(scene, "res://path/name.tscn") # Або "user://..."
    if error != OK:
        push_error("Під час збереження сцени на диск сталася помилка.")

Посібники

Методи

bool

can_instantiate() const

SceneState

get_state() const

Node

instantiate(edit_state: GenEditState = 0) const

Error

pack(path: Node)


Переліки

enum GenEditState: 🔗

GenEditState GEN_EDIT_STATE_DISABLED = 0

Якщо передано до instantiate(), блокує редагування стану сцени.

GenEditState GEN_EDIT_STATE_INSTANCE = 1

Якщо передано до instantiate(), надає локальні ресурси сцени локальній сцені.

Примітка: Доступно лише у збірках редактора.

GenEditState GEN_EDIT_STATE_MAIN = 2

Якщо передано до instantiate(), надає локальні ресурси сцени локальній сцені. Тільки головна сцена повинна отримувати основний стан редагування.

Примітка: Доступно лише у збірках редактора.

GenEditState GEN_EDIT_STATE_MAIN_INHERITED = 3

Це схоже на GEN_EDIT_STATE_MAIN, але для випадку, коли сцена створюється як основа для іншої.

Примітка: Доступно лише у збірках редактора.


Описи методів

bool can_instantiate() const 🔗

Повертає true, якщо файл сцени має вершини.


SceneState get_state() const 🔗

Повернення SceneState, що представляє вміст файлу сцени.


Node instantiate(edit_state: GenEditState = 0) const 🔗

Миттєва ієрархія сцени. Тригери дитячого сцена миттєве копіювання (s). Тригери Node. НЕФІКАЦІЯ_SCENE_INSTANTIATED повідомлення про кореневу вершину.


Error pack(path: Node) 🔗

Пакує вузол path та всі належні йому підвузли в цей PackedScene. Будь-які існуючі дані будуть очищені. Див. Node.owner.