Godot: GDScript рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдЬреБрд▓ре░ 2018  ┬╖  45рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: godotengine/godot

рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ GDScript (#9469) рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдкреАрдЖрд░ рдерд╛ред рдЗрд╕реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдХреЛрдИ рдкреНрд░рддреНрдпрдХреНрд╖ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдерд╛ (рдкрд╛рд░реНрд╕ рдЯреНрд░реА рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ, рдХреЗрд╡рд▓ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЙрдкрдХрд░рдг рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ)ред

рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рд╕рд╕реЗ GDScript рдореЗрдВ рдЕрдзрд┐рдХ рдХреАрд╡рд░реНрдб рд╣реИрдХ рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдХрд┐рд╕ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

  • export рд╕рдВрдХреЗрддред рдЕрднреА рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реАрдзреЗ PropertyInfo рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдФрд░ рд╕рдВрдХреЗрдд рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, GDScript рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИрдХ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЛ рдирдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛ рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
    рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ export рдХреАрд╡рд░реНрдб рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдХреЗрд╡рд▓ рд╕рдВрдХреЗрдд рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рдПрдВрдЧреЗред рдкреНрд░рдХрд╛рд░ рдХреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЗрд╕рдореЗрдВ export рд▓рд┐рдП рднреА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (#4378, #10303)ред
  • onready рдХреАрд╡рд░реНрдб рдХреЛ рдПрдиреЛрдЯреЗрд╢рди рд╕реЗ рдмрджрд▓реЗрдВред
  • рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ред #1993 рдЙрдиреНрд╣реЗрдВ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдб-рд╣реЙрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдЬреЛрдбрд╝реЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  • setget (рдЬрдм рдЖрдк рдХреЗрд╡рд▓ рдЧреЗрдЯрд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рдЕрдЬреАрдм рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ)ред
  • рдЖрд░рдкреАрд╕реА рдХреАрд╡рд░реНрдб ( master , slave , sync , remote )ред
  • рдирдП рдкреНрд░реА-рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢, рдЬреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ ( tool ) рдпрд╛ рдХреЗрд╡рд▓ рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ (# 12837 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд)ред
  • рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЕрдВрддрд┐рдо рдЪрд░реНрдЪрд╛ (рдЬреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд: #6491)ред
  • рд╢рд╛рдпрдж рдХрд╕реНрдЯрдо "рд╕рдЬреНрдЬрд╛рдХрд╛рд░" рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ред

рд▓рд╛рдн
рд╣рд░ рдмрд╛рд░ рдЬрдм рдХреЛрдИ рдирдпрд╛ рдХреАрд╡рд░реНрдб рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП GDScript рдЯреЛрдХрди рдФрд░ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ export рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдпрд╣ рдЕрдиреНрдп рд╡рд░реНрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рд┐рдд рд╣реИред

рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде, рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╢реЗрд╖рддрд╛ (рдЬреИрд╕реЗ рдирд┐рд░реНрдпрд╛рдд, рд╕реЗрдЯрдЧреЗрдЯ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА) рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреМрди рд╕реЗ рдПрдиреЛрдЯреЗрд╢рди рдореМрдЬреВрдж рд╣реИрдВред

рдиреБрдХрд╕рд╛рди
рдПрдиреЛрдЯреЗрд╢рди рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдХреЗрд▓реЗ рдХрд┐рд╕реА рднреА рдХреАрд╡рд░реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ "рд╕рд┐рд░реНрдл рдПрдХ рдПрдиреЛрдЯреЗрд╢рди" рдХреЗ рд░реВрдк рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╛рдХреНрдп - рд╡рд┐рдиреНрдпрд╛рд╕
рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╛рдЗрдерди рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХреА рддрд░рд╣ рдХреБрдЫ рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрд╛рдпрдерди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

<strong i="41">@onready</strong>
var my_sprite = $Sprite

рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

@export_hint(ENUM)
@export_hint_string("Attack,Defense")
export var my_enum : int = 0

рд╢рд╛рдпрдж рдХреЛрд╖реНрдардХ рдХреЗ рдмрд┐рдирд╛:

<strong i="48">@export_hint</strong> ENUM
<strong i="49">@export_hint_string</strong> "Attack,Defense"
export var my_enum : int = 0

рдпрд╛ рд╢рд╛рдпрдж рдирд╛рдорд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдФрд░ рдХреАрд╡рд░реНрдб рд╕реЗ рдмрдЪреЗрдВ):

<strong i="53">@export</strong> type=String hint=MULTILINE
var my_text = ""

рдпрд╛ рдХреБрдЫ рдФрд░ред

рдХрд╕реНрдЯрдо рдПрдиреЛрдЯреЗрд╢рди
рдЕрдЬреНрдЮрд╛рдд рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдХреЗрд╡рд▓ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд╢рд╛рдпрдж рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде)ред рдЗрд╕рд▓рд┐рдП рддреГрддреАрдп-рдкрдХреНрд╖ рдЙрдкрдХрд░рдг рдЕрдиреНрдп рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдирд┐рд░реНрдорд╛рдгред

рдПрдХ рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ: get_method_annotations() , get_property_annotations() рдпрд╛ рдРрд╕рд╛ рдХреБрдЫред рдЗрд╕ рддрд░рд╣ рдкреНрд▓рдЧрдЗрдиреНрд╕, рдЬреЛ рдХрд╣рддреЗ рд╣реИрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИред

archived discussion feature proposal gdscript

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЬреАрдбреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЗрддрдиреА рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреНрдпреЛрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд░рд▓, рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рд╕рд╣рдЬ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдЗрди рд╕рднреА рдирдП рдкрд░рд┐рд╡рд░реНрдзрди (рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЬреАрдбреАрдПрд╕, рдПрдиреЛрдЯреЗрд╢рди) рд╕реЗ рдбрд░ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдзрд┐рдХрд╛рдВрд╢ (рдпрджрд┐ рд╕рднреА рдирд╣реАрдВ) GDScript рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИрдВред рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп GDScript рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рдирд╛ рд╣реИ, рдЬреИрд╕реЗ:

  • match рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╕реНрд╡рд┐рдЪ-рдХреЗрд╕ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ (рдЬреЛ рдХрд╛рдлреА рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рдереЗ) рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдХрд░ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
  • onready рдЪрд░ (рдЬреЛ 2.x рдореЗрдВ рдирдП рдереЗ) рдПрдХ рдкреИрдЯрд░реНрди рдХреЛ рдареЛрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛, рдЕрд░реНрдерд╛рддреН _ready рдореЗрдВ рдЪрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ред
  • рдЯрд╛рдЗрдк рдХреА рдЧрдИ GDScript рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдХрд┐ рдХреЛрдИ рдЧрд▓рдд-рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмреЗрд╣рддрд░ рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╕реЗ рд▓рд╛рдн рдЙрдард╛рдиреЗ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд╡рд╛рдЧрдВрддреБрдХреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреЗрдо рджреЗрд╡реЛрдВ рдФрд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рд╕рдореБрджрд╛рдп рд╣реИред рдЧреЗрдо рджреЗрд╡реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ рдХрд┐ рд╡реЗ рдЖрдПрдВ рдФрд░ рдЕрдкрдиреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд┐рдпрд╛ рдерд╛ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рдлреА рд╕рдордп рдмреАрдд рдЬрд╛рдПрдЧрд╛ред

[...] рдореБрдЭреЗ рдмрд╕ рдбрд░ рд╣реИ рдХрд┐ рдЬреАрдбреАрдПрд╕ рдЕрдкрдиреА рд╕рд╛рджрдЧреА рд╕реЗ рдЖрдЧреЗ рдФрд░ рдЖрдЧреЗ рднрдЯрдХ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ ...

рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреЗред

рд╕рд╛рде рд╣реА, рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдП 3 рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрдирд╛ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдкрд╣рд▓реЗ рд╕реЗ рд╣реА var my_sprite = $Sprite рдЗрддрдирд╛ рдЕрдзрд┐рдХ рд╕реНрд╡рдЪреНрдЫ рд╣реИ

рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрднреА рддрдХ рдЕрдВрддрд┐рдо рд░реВрдк рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ onready рдФрд░ export рдХреАрд╡рд░реНрдб рдХреЛ рддреБрд░рдВрдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рд╕рднреА 45 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмрд╕ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд╕реНрдЯрдо рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

<strong i="6">@description</strong> "Adds two numbers and returns the result."
<strong i="7">@parameter</strong> name=num1 type=float description="The first number"
<strong i="8">@parameter</strong> name=num2 type=float description="The second number"
<strong i="9">@returns</strong> type=float description="num1 and num2 added together"
func add(num1, num2):
    return num1 + num2

рдФрд░ рдореИрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, get_annotations("add") рдХрд╣реЗрдВ, рдЬреЛ рдЗрди рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛? рднрд▓реЗ рд╣реА рдЗрди рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЧреЛрдбреЛрдЯ рджреНрд╡рд╛рд░рд╛ рдХреБрдЫ рдмрд┐рд▓реНрдЯ-рдЗрди рдХреАрд╡рд░реНрдб/рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рди рджреА рдЧрдИ рд╣реЛ?

@LikeLakers2 рд╣рд╛рдБ, рдпрд╣реА рдЗрд╕рдХрд╛ рд╕рд╛рд░ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд▓реЗрдХрд┐рди рдЬреАрдбреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдпрд╣ рдЕрдм рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕рд╛рдл рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реЗрдЯрдЧреЗрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред

рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓ рд▓рд╛рдЗрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
<strong i="6">@onready</strong> var a = $A рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдПрдХ рдЯрди рдиреНрдпреВрд▓рд╛рдЗрди рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧреА рдмрд░реНрдмрд╛рдж рдХрд░ рджреЗрдЧрд╛ред

рдХреБрдЫ рдЗрд╕ рддрд░рд╣

<strong i="10">@onready</strong>
    var a = $A
    var b = $B
    var c = $C

рдПрдХ рд╣реА рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдХрдИ рдмрдпрд╛рдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

рд╕рд╛рде рд╣реА, рдПрдХ рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХрд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрдерди рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд╢реЗрд╖ GDScript рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрджрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЙрд╕реА рдкрдВрдХреНрддрд┐ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рд╡реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП '()' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рддрд░реНрдХ-рд░рд╣рд┐рдд рд╣реИрдВ)

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ vnen рдХрд╛ рдЗрд░рд╛рджрд╛ рдкреБрд░рд╛рдиреЗ рд╢реЙрд░реНрдЯрдХрдЯ рдХреАрд╡рд░реНрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╣реИ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рд╣реИрдВрдбрд▓ рд╣реЛрдиреЗ рд╕реЗ рдпреЗ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдкрд╛рд░реНрдЯреА рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рд░реНрдпрд╛рдд рдпреБрджреНрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдХреИрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЯреВрд▓/рдбреАрдмрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд┐рд╡реАрдЬрди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ 3.2 рд░реЛрдбрдореИрдк рдкрд░ рдбрд╛рд▓рддреЗ рд╣реБрдП, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡реГрджреНрдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд▓рд╛рдЧреВ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

#### рдЕрд▓реЛрдХрдкреНрд░рд┐рдп рд░рд╛рдп рдЖрдиреЗ рд╡рд╛рд▓реА:

рдЬреАрдбреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЗрддрдиреА рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреНрдпреЛрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд░рд▓, рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рд╕рд╣рдЬ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдЗрди рд╕рднреА рдирдП рдкрд░рд┐рд╡рд░реНрдзрди (рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЬреАрдбреАрдПрд╕, рдПрдиреЛрдЯреЗрд╢рди) рд╕реЗ рдбрд░ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЧреЛрдбреЛрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрдХрд▓рд╛рдХрд░реНрд╕ 2 рдХреА рдкреЛрд╕реНрдЯ рдореЗрдВ рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЙрдирдХрд╛ рд╕рд┐рд░ рдлрдЯ рдЬрд╛рдПрдЧрд╛ред рдЕрдЧрд░ рдХреБрдЫ рднреА рд╣реЛ рддреЛ рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЧреБрдЪреНрдЫрд╛ рдкреВрдЫрдирд╛ рд╣реЛрдЧрд╛/рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрддреНрдпрд╛рджрд┐ред

рдореИрдВ рдЬреАрдбреАрдПрд╕ рдХреЗ рд▓рд┐рдП рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкреНрдпрд╛рд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдФрд░ рдХреИрд╕реЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрджрд┐ред рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреЗрдо рджреЗрд╡реЛрдВ рдФрд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдЧреЗрдо рджреЗрд╡ рдирд╣реАрдВ рд╣реИрдВ, рдмрд╕ рдпрд╣ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдмрд╕ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдбрд░ рд╣реИ рдХрд┐ рдХрд╣реАрдВ gds рдЕрдкрдиреА рд╕рд╛рджрдЧреА рд╕реЗ рдХрд╣реАрдВ рдФрд░ рднрдЯрдХ рди рдЬрд╛рдП, рдмрд╕ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдзрд┐рдХ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рд╣реИ ...

рд╕рд╛рде рд╣реА, рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдП 3 рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрдирд╛ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: onready var my_sprite = $Sprite рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдХреНрд▓реАрдирд░ рд╣реИ (рд╡реИрд╕реЗ рднреА рдореЗрд░реЗ рд▓рд┐рдП)

рдФрд░ рдмрд┐рдВрджреБ # 4 рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рд╕рдВрдкрд╛рджрдХ AFAIK рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдИрдПрдордУ, рдХреЛрдб рдореЗрдВ рд╕рднреА рдЬрдЧрд╣реЛрдВ рдкрд░ 'рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо' рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рд╣реЛрдиреЗ рд╕реЗ рдмрд╣реБрдд рдЧрдиреНрджрд╛ рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдЬреАрдбреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЗрддрдиреА рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреНрдпреЛрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд░рд▓, рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рд╕рд╣рдЬ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдЗрди рд╕рднреА рдирдП рдкрд░рд┐рд╡рд░реНрдзрди (рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЬреАрдбреАрдПрд╕, рдПрдиреЛрдЯреЗрд╢рди) рд╕реЗ рдбрд░ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдзрд┐рдХрд╛рдВрд╢ (рдпрджрд┐ рд╕рднреА рдирд╣реАрдВ) GDScript рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИрдВред рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп GDScript рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рдирд╛ рд╣реИ, рдЬреИрд╕реЗ:

  • match рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╕реНрд╡рд┐рдЪ-рдХреЗрд╕ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ (рдЬреЛ рдХрд╛рдлреА рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рдереЗ) рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдХрд░ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
  • onready рдЪрд░ (рдЬреЛ 2.x рдореЗрдВ рдирдП рдереЗ) рдПрдХ рдкреИрдЯрд░реНрди рдХреЛ рдареЛрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛, рдЕрд░реНрдерд╛рддреН _ready рдореЗрдВ рдЪрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ред
  • рдЯрд╛рдЗрдк рдХреА рдЧрдИ GDScript рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдХрд┐ рдХреЛрдИ рдЧрд▓рдд-рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмреЗрд╣рддрд░ рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╕реЗ рд▓рд╛рдн рдЙрдард╛рдиреЗ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд╡рд╛рдЧрдВрддреБрдХреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреЗрдо рджреЗрд╡реЛрдВ рдФрд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рд╕рдореБрджрд╛рдп рд╣реИред рдЧреЗрдо рджреЗрд╡реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ рдХрд┐ рд╡реЗ рдЖрдПрдВ рдФрд░ рдЕрдкрдиреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд┐рдпрд╛ рдерд╛ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рдлреА рд╕рдордп рдмреАрдд рдЬрд╛рдПрдЧрд╛ред

[...] рдореБрдЭреЗ рдмрд╕ рдбрд░ рд╣реИ рдХрд┐ рдЬреАрдбреАрдПрд╕ рдЕрдкрдиреА рд╕рд╛рджрдЧреА рд╕реЗ рдЖрдЧреЗ рдФрд░ рдЖрдЧреЗ рднрдЯрдХ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ ...

рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреЗред

рд╕рд╛рде рд╣реА, рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдП 3 рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрдирд╛ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдкрд╣рд▓реЗ рд╕реЗ рд╣реА var my_sprite = $Sprite рдЗрддрдирд╛ рдЕрдзрд┐рдХ рд╕реНрд╡рдЪреНрдЫ рд╣реИ

рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрднреА рддрдХ рдЕрдВрддрд┐рдо рд░реВрдк рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ onready рдФрд░ export рдХреАрд╡рд░реНрдб рдХреЛ рддреБрд░рдВрдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ, рд╕реА # рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рддрд░рд╣ред

рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдПрдиреЛрдЯреЗрд╢рди рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐, рд╡рд┐рдзрд┐ рдпрд╛ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╕реНрдЯрдо рдПрдиреЛрдЯреЗрд╢рди рд╣реЛ, рдПрдХ рд╣рд╡рд╛ рд╣реЛрдЧреАред
рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреБрдЫ рдРрд╕рд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдЬреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдкрд░ рднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред

рдХрд╕реНрдЯрдо рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рд╣реЛ рд╕рдХрддреА рд╣реИ? рдореИрдВ рдпрд╣ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреЛрдб рдореЗрдВ рд╣рд░ рдмрд╛рд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐ рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рддрд░рд╣ рдПрдХ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рдЧрдП рдереЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд╛рд╖рд╛ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд░реВрдк рдореЗрдВ) рддрд╛рдХрд┐ рдХреВрджрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдкреВрд░реНрдг рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

<strong i="7">@export</strong> type=String, hint=MULTILINE

"рдкреИрд░рд╛рдореАрдЯрд░" рдХреЗ рдмреАрдЪ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдФрд░ рд╕реБрд╕рдВрдЧрдд рдмрдирд╛ рджреЗрдЧрд╛:

export (String, MULTILINE) var my_var

рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд░реНрдмреЛрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рдд: рдкреВрд░реНрдг рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдиреА рдЪрд╛рд╣рд┐рдП :)

рдЖрдЧреЗ рдЪрд▓рдХрд░ рдФрд░ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдЪрд░реНрдЪрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред

рдПрдиреЛрдЯреЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ IMO рдХрд╛ рдЕрдзрд┐рдХ рд╕реНрд╡рдЪреНрдЫ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрдХ рд╣реЛрддреА рд╣реИрдВред

@bojidar-bg рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ...

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рдлреА рд╕рдордп рдмреАрдд рдЬрд╛рдПрдЧрд╛ред

рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "рдЕрд╡рд░реБрджреНрдз" рдореБрджреНрджрд╛ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рджреЗрд░реА рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ GDScript / рдЬрдирд╢рдХреНрддрд┐ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдРрд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдЦреИрд░, рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж рд╕реЗ рдХрд╛рдлреА рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рд╕рд╛рдмрд┐рдд рд╣реЛ рдЪреБрдХрд╛ рд╣реИ?

рдПрдиреЛрдЯреЗрд╢рди рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЕрд╡рд░реЛрдзрдХ рдХреЛрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рд╢рдмреНрджрд╛рд░реНрде рдкрд░ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред рдмрд╛рдж рдореЗрдВ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдореЗрдВ @reduz рдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХреЗрд╡рд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд╕реЗ рдореЗрд░рд╛ рдореВрд▓ рдкреНрд░рд╕реНрддрд╛рд╡ рдмрд┐рд▓рдХреБрд▓ рд╡реНрдпрд░реНрде рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдореБрдЭреЗ рдЕрдм рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдПрдХрд▓ рдХреАрд╡рд░реНрдб ( onready , master , puppet , рдЖрджрд┐) рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрднреА рднреА рдЖрдо рд╕рд╣рдорддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреИрд╕рд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╣ GDScript рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрдХ рд╕реАрдорд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдИ рдХреАрд╡рд░реНрдб рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЪрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ export рдЬреЛ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрдврд╝рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрдИ рдмрдпрд╛рдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ 3 рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рдЕрдВрдХ #6204 рдХреЛ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

<strong i="8">@export</strong>
<strong i="9">@export_tooltip</strong> "The name used when displaying this item in the inventory and in shops."
var display_name := ""

рдореИрдВ рдпрд╣ рднреА рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрд░реНрдХ рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рдкрдардиреАрдпрддрд╛ imo рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдЧрд╛ред

рдореИрдВ @willnationsdev рд╕реЗ рд╕рд╣рдордд

@connect("timeout")
func _on_Timer_timeout():
   ...

@rluders рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ Timer рдиреЛрдб рдкрд░ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@Zylann рдмрд┐рд▓реНрдХреБрд▓ред рдмрд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдгред рдпрд╣ "рд▓рдХреНрд╖реНрдп" рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ-рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ Timer рдмрд╛рд╣рд░ рдЪрд▓ рд░рд╣реА рд╣реИ:

@connect("timeout", $Timer)
func _on_Timer_timeout():
  ...

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреАрдбреАрдПрд╕ рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдПред рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдпрджрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдпрд╛ рдиреНрдпреВрд▓рд╛рдЗрди рдХреЗ рдмрдЬрд╛рдп '()' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдФрд░ рднреА рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди + рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдирд╛ рд╕рдХреЗрдВред

@Zylann рдмрд┐рд▓реНрдХреБрд▓ред рдмрд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдгред рдпрд╣ "рд▓рдХреНрд╖реНрдп" рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ-рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ Timer рдмрд╛рд╣рд░ рдЪрд▓ рд░рд╣реА рд╣реИ:

@connect("timeout", $Timer)
func _on_Timer_timeout():
  ...

рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдПрдХ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рдмрдирд╛рдКрдВрдЧрд╛ред
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬреАрдбреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдЦрд╛ рдХреНрдпреЛрдВрдХрд┐

@export_hint(ENUM)
@export_hint_string("Attack,Defense")
export var my_enum : int = 0

рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рдФрд░ рдХрдард┐рди рд╣реЛрддрд╛

@sleepcircle рд╣рдо рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ GDScript рдХреЛ рд╕рд░рд▓ рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╡реНрдпрдВрдЧреНрдпрд╛рддреНрдордХ рд╣реЛрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрджреНрдзреГрдд рдХреЛрдб рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдерд╛, рди рдХрд┐ _the_ рднрд╡рд┐рд╖реНрдп рдХрд╛ рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ред

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рдореИрдВ рд╡реНрдпрдВрдЧреНрдпрд╛рддреНрдордХ рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рдмрд╕ рдпрд╣ рдорд╛рди рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрди рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдерд╛, рдХрд┐ рд╡реЗ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдереЗред

рдмрд╕ рдПрдХ рдЧреЗрдо рджреЗрд╡ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдирд╛ $0.02 рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЪреЗрддрд╛рд╡рдиреА: рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд▓рдВрдмреА рдЯрд┐рдкреНрдкрдгреА рдЬреЛ рдЬреНрдпрд╛рджрд╛ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджреЗрддреА рд╣реИ, рд╕рд┐рд░реНрдл 5 рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рдЦрд╛рдиреЗ рд╕реЗ рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рд╣реИ рдХрд┐ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдордЭреЗрдВрдЧреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдЬреИрд╕реЗ рдирдП рднрд╛рд╖рд╛ рдореБрд╣рд╛рд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╕рдордп рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╣рд░ рд╡рд╣рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП connect , рдпрд╣ рдЕрдм рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирдП рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХреБрдЫ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВред

рдпрджрд┐ @ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЬрдм рднреА рдХреЛрдИ рдирдпрд╛ рдбреЗрд╡рд▓рдкрд░ @ рджреЗрдЦрддрд╛ рд╣реИ рддреЛ рд╡реЗ рдЗрд╕реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдХреЛрдб рддрд░реНрдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рддрд░реНрдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдо рдирдП рдореБрд╣рд╛рд╡рд░реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрднреА-рдХрднреА x рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрднреА-рдХрднреА y рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЕрднреА, рдПрдХ рдЪрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, var рдЙрдкрд╕рд░реНрдЧ, рдкреНрд░рддреНрдпрдп рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдореИрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ "рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рдВрд╢реЛрдзрдХ" рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ

  • рдЙрдкрд╕рд░реНрдЧ: onready , export(...)

    • рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИред onready рд░рдирдЯрд╛рдЗрдо рд╡реИрд░рд┐рдПрдмрд▓ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, export рдПрдХ рддрд░рд╣ рдХрд╛ рдПрдбрд┐рдЯрд░ рд╣рд┐рдВрдЯ/рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ

  • рд╡рд┐рдХрд▓реНрдк: class_name , extends , signal , enum , const , func

    • рдпреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреНрд░рд╛рд░реВрдк рдареАрдХ рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди "рдПрдирдо" рдФрд░ "рдХреЙрдиреНрд╕реНрдЯ" рдХреЛ рдХрд╣рдиреЗ, рдЗрдирдЯреНрд╕ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЬреАрдм рдкрд╕рдВрдж рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ

  • рдкреНрд░рддреНрдпрдп: setget

    • рдЕрдкрдиреА рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕реЗрдЯрдЧреЗрдЯ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ export рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреАрдиреА рдХреАрд╡рд░реНрдб рд╣реИ рдФрд░ рдЗрддрдирд╛ рддрд░реНрдХ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдпрд╣рд╛рдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╛рдп рд░рдЦрддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ

  • рдмреАрдЪ рдореЗрдВ рдХрд╣реАрдВ: var x : int = 5 рдЯрд╛рдЗрдк рдХрд░рдирд╛

    • рдпрд╣ рдмреАрдЪ-рдмреАрдЪ рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЕрдЬреАрдм рд▓рдЧрддреА рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм "рдПрдирдо" рдФрд░ "рдХреЙрдиреНрд╕реНрдЯ" рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП var рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреАрд╡рд░реНрдб рд╣реИрдВред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рддрд░реНрдХ рд╣реИ рдХрд┐ const рд╕реЗрдЯрдЧреЗрдЯ рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЧреЗрдо рд▓реЙрдЬрд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред

рддреЛ рдЕрдм рдЖрдЗрдП рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдЬреЛрдбрд╝ рдХреЛ рджреЗрдЦреЗрдВред

рдПрдиреЛрдЯреЗрд╢рди рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛/рдореБрд╣рд╛рд╡рд░рд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдХреБрдЫ рдореБрд╣рд╛рд╡рд░реЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдирдП рдореБрд╣рд╛рд╡рд░реЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░реВрдк рд╕реЗ рдЙрдард╛ рд╕рдХреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЯреЗрдХ-рдЯреНрд░реА рдХреА рддрд░рд╣ рд╕рдордЭреЗрдВред

  • (рдЯрд┐рдпрд░ 1) рд╡реЗ рдХреЗрд╡рд▓ func, var, рдФрд░ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдЬреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓, рд╕рд╢рд░реНрдд рдФрд░ рд▓реВрдк рдХреЛ рдЬрд╛рдирдХрд░ рдПрдХ рдЧреЗрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
  • (рдЯрд┐рдпрд░ 2) рдлрд┐рд░ рд╡реЗ рдЙрдкрдпреЛрдЧреА рдЪреАрдиреА/рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕рд┐рдЧреНрдирд▓, рдХреЙрдиреНрд╕реНрдЯ, рдПрдирдо
  • (рдЯрд┐рдпрд░ 3) рд╡реЗ рд╢реЙрд░реНрдЯрдХрдЯ рд╕реАрдЦрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕реЗрдЯрдЧреЗрдЯ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
  • (рдЯрд┐рдпрд░ 3.1) рд╡реЗ рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░ рдЪреАрдиреА рд╕реАрдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдирдХреЗ рдЦреЗрд▓ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдирд┐рд░реНрдпрд╛рдд, рд╕рдВрдкрд╛рджрдХ рд╡рд┐рд╡рд░рдг, рдЯреВрд▓ рдФрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдирдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред
  • (рдЯрд┐рдпрд░ 4) рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд┐рдпрд░ 3-4 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдореБрдЦ рд▓рдХреНрд╖реНрдп рд╣реИрдВред рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рджреЛ рд▓рд┐рдлреНрдЯ рдкрд┐рдЪ рджреВрдВрдЧрд╛:

  • рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛: "рдЕрдкрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рд╕рд╣рдпреЛрдЧ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреБрдЫ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВред рд╡реЗ рдХреЗрд╡рд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИрдВред"
  • рджреЗрд╡ рд╢реЙрд░реНрдЯрд╣реИрдВрдб/рд╢реБрдЧрд░: "рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдиреЛрдЯреЗрд╢рди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рд╡реЗ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдВрдкрд╛рджрдХ рдЙрдкрдХрд░рдг рдФрд░ рд╢реЙрд░реНрдЯрдХрдЯ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реБрдП рдЪрд░ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВред"

рдореИрдВрдиреЗ рдХрдИ рджреЗрд╡реЛрдВ рдХреЛ рдЧреЛрдбреЛрдЯ рд╕рд┐рдЦрд╛рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЯреАрдпрд░ 3 рд╡рд┐рдХрд▓реНрдк, рдФрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯрд┐рдпрд░ 4 рдмрдирд╛рдирд╛ рд╣реИред рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ @ рдкреНрд░рддреАрдХ рдирд╣реАрдВ рджрд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рди рд╣реЛрдВ рд╕рдВрдкреВрд░реНрдг, рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдЦреЗрд▓реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореЗрд░реА рд░рд╛рдп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреЗрд╡ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреЛ рдЧреЗрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ/рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ "рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рддреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ"ред

рдзрд╛рдЧреЗ рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБ:

  • рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рд╕реА рднреА рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ
  • рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЖрд╕рд╛рди рд╢реЙрд░реНрдЯрдХрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирдП рджреЗрд╡ _ready рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдПрдиреЛрдЯреЗрд╢рди рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдЕрд░реНрде рд╣реИ onready рдХрдо рдмрд╛рд░ рд▓рд┐рдЦрдирд╛
  • рд╕реЗрдЯрдЧреЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдЕрдЬреАрдм рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЕрдкрдирд╛ рдореБрд╣рд╛рд╡рд░рд╛ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рддреНрдпрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ, рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╣рд╛рдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • рдХрдиреЗрдХреНрдЯ: рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реВрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдореБрд╣рд╛рд╡рд░реЗ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рд╣реИред рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реЛрдиреЗ рд╕реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓/рдирдореВрдирд╛ рдХреЛрдб рд╕реНрдерд╛рди рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЗрд╕реЗ рдорд╛рдирдХреАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рддрд╛рдХрд┐ рдмрдВрдж рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреЗрд╡ рдПрдиреЛрдЯреЗрд╢рди рдХреА рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХреЗрдВ рдЬреЛ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдерд╛рди рдХреЛ рднрдВрдЧ рдХрд░ рджреЗ
  • рдкреНрд░рдХрд╛рд░: рдкреНрд░рдХрд╛рд░ рдЕрднреА рдПрдХ рдЕрдЬреАрдм рдЬрдЧрд╣ рдкрд░ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрд╢реЛрдзрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдФрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрд╢реЛрдзрдХ рдмреАрдЪ рдореЗрдВ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛: @type(const int) @type(enum) , рдЬреЛ рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдбреЗрд╡рд▓рдкрд░-рдЙрдиреНрдореБрдЦ рдЪреАрдиреА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░реЗрдЧрд╛

рдлрд┐рд░, рдПрдХ рдмрдбрд╝рд╛ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рднреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдЬрдм рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рддрд╣рдд рдХрд┐рд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХрдВрдмрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рдорд╣рд╛рди рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдХрд╣рд╛рдБ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВред рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рд╣рдореЗрд╢рд╛ рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рд╡рд░реНрдмреЛрдЬрд╝ рд╣реВрдВред

рдореБрдЭреЗ рдпрд╣ рдирд╛рдкрд╕рдВрдж рд╣реИред
рдореИрдВ рд╣рд░ рдХреНрд╖реЗрддреНрд░, рд╕рдВрдкрддреНрддрд┐ рдФрд░ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛

рдореЗрд░реЗ рдкрд╛рд╕ рдФрд░ рдХреАрд╡рд░реНрдб рд╣реЛрдВрдЧреЗ

рдЕрдЧрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдвреЗрд░ рд╕рд╛рд░реЗ рдХреАрд╡рд░реНрдб рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ

export MyClass : Node2D # export replaces class_name, : replaces extends 

signal mySignal #signal is kept

group(MyHeader, "res://icon.png" )
export var my_property : Array(int) setget _set_my_property, _get_my_property # : replaces export type

var test = 0 # no need for onready. variables declared outside of _ready automatically try to be onready vars

#others are kept

рдореИрдВ рдореВрд▓ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВред

рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдЕрд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдкреЗрд╢реЗрд╡рд░реЛрдВ рдиреЗ рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдкрдЫрд╛рдбрд╝ рджрд┐рдпрд╛ рд╣реИред

@Shadowblitz16 рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рд╕реБрдЭрд╛рд╡ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдпрд╣рд╛рдВ рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ ...

export MyClass : Node2D # export replaces class_name, : replaces extends

export , class_name , : , рдФрд░ extends рдкреНрд░рддреНрдпреЗрдХ 4 рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдмрд┐рдВрджреБрдУрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдзрд░-рдЙрдзрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

  • export рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ PropertyInfo рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрдкрд╛рджрдХ GUI рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • class_name ScriptServer рдореЗрдВ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ GDScript рдХреЗ "рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ" рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░рди-рдЯрд╛рдЗрдо рдХреЗ рдмрдЬрд╛рдп рдкрд╛рд░реНрд╕-рдЯрд╛рдЗрдо рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред
  • рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП : рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рд╣рд░ рд╕рдордп рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП GDScript рдХреЛ рдмрдирд╛рдиреЗ рдФрд░/рдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХреЗрдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреА рдирд╣реАрдВ рдХрд░рддреЗ, рддрдм рддрдХ рдХреЛрд▓рди рдЯреЛрдХрди рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
  • extends рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ)ред рдпрд╣ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ, рдФрд░ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рдФрд░ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдПрдХ рдХреЙрд╕реНрдореЗрдЯрд┐рдХ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрдд рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
group(MyHeader, "res://icon.png")

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреЛрдб рдХреЛ "рдорд╛рдИрд╣реЗрдбрд░" рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ (рдЬреЛ рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдЖрдЗрдХрди рдХрд┐рд╕ рд▓рд┐рдП рд╣реИ? рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рдЪрд┐рд╣реНрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

export var my_property : Array(int) setget _set_my_property, _get_my_property # : replaces export type

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдпреЗ рд╕рднреА рдЪреАрдЬреЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдПрдХ рд╣реА рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдмрд╛рд░ рдРрд╕рд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдорд╛рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдпрд╛ рдЙрд╕рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛ рд▓рдЪреАрд▓рд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд╛рдпрдиреЗрдорд┐рдХ GDScript рдореЗрдВ, рдЖрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

onready export(NodePath) var the_node = get_node(the_node)
var test = 0 # no need for onready. variables declared outside of _ready automatically try to be onready vars

рддреИрдпрд╛рд░ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреНрд▓рд╛рд╕ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИрдВ, рдиреЛрдб рдХреНрд▓рд╛рд╕ рд╕реЗ рдирд╣реАрдВред рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧреБрдгреЛрдВ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдиреЛрдб рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВ рддрдм рднреА рдпрд╣ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред _ready() рдЕрдзрд┐рд╕реВрдЪрдирд╛ рддрддреНрдХрд╛рд▓ рдХреЗ рдмрд╛рдж рдмрд╣реБрдд рдмрд╛рдж рдореЗрдВ рд╣реЛрддреА рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╡реИрд░рд┐рдПрдмрд▓ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдордп рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдирд╛ рдмреЗрд╣рдж рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЧреЛрдбреЛрдЯ рдХреЛ рд╕реАрдЦрдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛ред


рдореЗрд░рд╛ рдорддрд▓рдм рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рдХрдо рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЗрди рд╕реБрдЭрд╛рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдФрдЪрд┐рддреНрдп рдХреНрдпреЛрдВ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред

@willnationsdev рдареАрдХ рд╣реИ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБ
рдПрдиреЛрдЯреЗрд╢рди рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреАрд╡рд░реНрдб рджреЛрдиреЛрдВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд╛рд╣реЗрдВ рддреЛ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рд╡реЗ рдкреНрд░рддрд┐ рдлрд╝реАрд▓реНрдб рджрд░реНрдЬрдиреЛрдВ рдПрдиреЛрдЯреЗрд╢рди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╕реА # рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдиреЛрдЯ рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рдЧрдардмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ ..
[Attribute1(), Attribute2()]
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд▓рд╛рдЗрди рдЧрд┐рдирддреА рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдпрд╣ рдереЛрдбрд╝рд╛ рдмрджрд╕реВрд░рдд рд╣реИ

@ рд╢реИрдбреЛрдмреНрд▓рд┐рдЯреНрдЬ 16 рдЬрдм рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╣рдо рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛рдПрдБ рд╣реЛрдирд╛ рдЙрд╕ рд▓рдХреНрд╖реНрдп рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реЛрдЧрд╛ред

@Calinou рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд▓реЛрдЧ рд╕рдордЭреМрддрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЬреАрдбреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
1 - рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ
2 - рдпрд╣ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдХрдо рдкрдардиреАрдп рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИ
3 - рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рдирдИ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╡реЗ рдЕрднреНрдпрд╕реНрдд рдирд╣реАрдВ рд╣реИрдВред
4 - рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ рд╢рд╛рдпрдж рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ

1 - рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ
2 - рдпрд╣ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдХрдо рдкрдардиреАрдп рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИ
3 - рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рдирдИ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╡реЗ рдЕрднреНрдпрд╕реНрдд рдирд╣реАрдВ рд╣реИрдВред
4 - рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ рд╢рд╛рдпрдж рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рд╡реЗ рдХрд╛рдлреА рдЦрд░рд╛рдм рддрд░реНрдХ рд╣реИрдВред рдЙрди 4 рдореЗрдВ рд╕реЗ 3 рдЕрдВрдХ рдПрдкреАрдЖрдИ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдирд┐рд╣рд┐рдд рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдХреАрд╡рд░реНрдб-рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдХрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде)ред

_рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдЙрдкрдХрд░рдг рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмрд┐рдВрджреБ 2 рдХреЗ рд▓рд┐рдП, рдЬрдмрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕ рддрдереНрдп рдкрд░ рд╕рд╣рдордд рд╣реЛрдЧрд╛ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЛрдВ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдпрд╣рд╛рдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЕрд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрдо рдкрдардиреАрдп рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИред

@ рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ
1 - рд╣рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
2 - рдпрд╣ рдХрдо рдкрдардиреАрдп рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП 5 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╣реИ

  • рдирд┐рд░реНрдпрд╛рдд рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрд╡рд░реНрдб рд╣реИ
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ var рдШреЛрд╖рдгрд╛ рд╣реИ

рджреЛрдиреЛрдВ рдПрдиреЛрдЯреЗрд╢рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ

рд╕рджрд╕реНрдп рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рд╣реА рдПрдХрдорд╛рддреНрд░ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрдВрдзрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рд╣реЛрдЧрд╛, рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред

@ рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЪрд╛рд╣реЗ рд╡рд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг, рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг, рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЛ ... рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреАрд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

1 - рд╣рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░рдг рд╣реИрдВред рдХреНрд▓реАрдирд░ рдПрдкреАрдЖрдИ, рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди, рдЖрджрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ ... рдФрд░ рдПрдХ рдмрд╛рд░ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЛ рд╣рдЯрд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд░рдЦрд░рдЦрд╛рд╡ рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИред

2 - рдпрд╣ рдХрдо рдкрдардиреАрдп рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП 5 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╣реИ

рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рдмрдирд╛рдирд╛ рд╣реИред рдЖрдИрдПрдордПрдЪрдУ, рдирд┐рд░реНрдпрд╛рдд рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдмрд╢рд░реНрддреЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирд╛рдорд┐рдд рддрд░реНрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реЛ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдкрд╣рд▓реЗ рд╕реЗ рднреА рдХрдо рдЬрдЧрд╣ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рд╣рдо рдпрд╣ рднреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реЛрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдирд┐рд░реНрдпрд╛рдд рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрд╡рд░реНрдб рд╣реИ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ var рдШреЛрд╖рдгрд╛ рд╣реИ
рджреЛрдиреЛрдВ рдПрдиреЛрдЯреЗрд╢рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ

рдареАрдХ рд╣реИ, рдЖрдкрдиреЗ рд╕рдВрднрд╡рддрдГ рдкреВрд░реНрд╡рдХрд▓реНрдкрд┐рдд рд╡рд┐рдЪрд╛рд░ рд░рдЦреЗ рд╣реЛрдВрдЧреЗ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдХрд┐рд╕ рд▓рд┐рдП рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреЗрд╕ рдХреЗрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ (рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд┐рддрд┐ рдкрд░ рдХреЗрд╕ рджрд░ рдХреЗрд╕ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ "рд▓рд╛рдЗрдиреНрд╕" рддрд░реНрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рднрд▓реЗ рд╣реА рдПрдиреЛрдЯреЗрд╢рди рд╕реАрдзреЗ рддреМрд░ рдкрд░ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ (рдпрд╛ рдПрдХ "рдЙрдкрд╕рд░реНрдЧ" рдлрд╝реЙрд░реНрдо) рдПрдХрд╛рдзрд┐рдХ рдХрдердиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рдЖрдк ; рдХреЛ рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

<strong i="7">@onready</strong> var my_sprite = $Sprite
@onready; var my_sprite = $Sprite


@export_hint_string("Attack,Defense")
@export_hint(ENUM) export var my_enum : int = 0

@export_hint_string("Attack,Defense")
@export_hint(ENUM); export var my_enum : int = 0


<strong i="8">@export_hint_string</strong> "Attack,Defense";
<strong i="9">@export_hint</strong> ENUM export var my_enum : int = 0

<strong i="10">@export_hint_string</strong> "Attack,Defense"
<strong i="11">@export_hint</strong> ENUM; export var my_enum : int = 0


<strong i="12">@export</strong> type=String hint=MULTILINE; var my_text = ""

# more options

@export(type = String, hint = MULTILINE) var my_text = ""
@export(type = String, hint = MULTILINE); var my_text = ""

@export(String, hint = MULTILINE) var my_text = ""

# I personally prefer this one (positional and named args supported, default/optional args too)
@export(String, MULTILINE) var my_text = ""
@export(String, hint = MULTILINE) var my_text = ""
@export(type = String, hint = MULTILINE) var my_text = ""
@export(int, ENUM, "Attack,Defense") var my_enum:= 0

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдУрд╣, рдореИрдВ рдмрд╣реБрдд рдзреАрдорд╛ рдерд╛, @groud рдиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд╛рдЗрди рддрд░реНрдХ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдЦреИрд░, рдХрдо рд╕реЗ рдХрдо рдЙрди рдХреБрдЫ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝рд╛ред

рдпрд╣ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреА рд░рд╛рдп рд╣реИред
рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ рдмрджрд╕реВрд░рдд рд╣реИ

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
рддреЛ рд╕рджрд╕реНрдп рдШреЛрд╖рдгрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреА?
рдРрд╕рд╛ рдХрд░рдирд╛ рднрдпрд╛рдирдХ рд╣реЛрдЧрд╛

<strong i="10">@description</strong> "Adds two numbers and returns the result."
<strong i="11">@parameter</strong> name=num1 type=float description="The first number"
<strong i="12">@parameter</strong> name=num2 type=float description="The second number"
<strong i="13">@returns</strong> type=float description="num1 and num2 added together"
func add(num1, num2):
    return num1 + num2

рдЬрдм рддрдХ рдпрд╣ @description рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ func рдХреА рд╢реБрд░реБрдЖрдд рддрдХ рдврд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ)ред рдпрджрд┐ рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдПрдиреЛрдЯреЗрд╢рди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

func add(num1: float, num2: float) -> float: return num1 + num2

рдпрд╣ рднреНрд░рдо рд╢рд╛рдпрдж рдирд┐рд░реНрдпрд╛рдд рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдХрдо рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдЬреЛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░реЛрдВ рдЬреИрд╕реЗ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ)ред

рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ рдмрджрд╕реВрд░рдд рд╣реИ
рддреЛ рд╕рджрд╕реНрдп рдШреЛрд╖рдгрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреА?
рдРрд╕рд╛ рдХрд░рдирд╛ рднрдпрд╛рдирдХ рд╣реЛрдЧрд╛

рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдпрд╣ рдЙрджреНрджреЗрд╢реНрдп рдЖрдо рддреМрд░ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реИ, рдПрдиреЛрдЯреЗрд╢рди рдирд╣реАрдВ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЬреЛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЙрд╕рд╕реЗ рдмрд░рд╛рдмрд░ рдпрд╛ рдЕрдзрд┐рдХ рд╡рд░реНрдмреЛрдЬрд╝ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╕реА рднрд╛рд╖рд╛ рдкрд░рд┐рд╡рд╛рд░ (рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛рдУрдВ) рдореЗрдВ @ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрдо рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╕реНрдХреИрд▓рд╛ рдФрд░ рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдЗрдерди рднреА рдкрдврд╝рд╛ рд╣реИ)ред

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдбреЙрдХреНрд╕ рдореЗрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрдкрдХрд░рдг рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ):

/** Adds two numbers and returns the result.
 * <strong i="16">@param</strong> num1 {float} The first number
 * <strong i="17">@param</strong> num2 {float} The second number
 * <strong i="18">@return</strong> {float} num1 and num2 added together
  **/
const add = (num1: number, num2: number): number => num1 + num2;

рдлрдВрдХ рдЬреИрд╕рд╛ рд╕реНрд╡рд╛рдж:

@description("Adds two numbers and returns the result.")
@parameter(num1, "The first number", type=float)
@parameter(num2, "The second number", type=float)
@returns("num1 and num2 added together", type=float)
func add(num1: float, num2: float) -> float:
    return num1 + num2

рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛:

@description("Adds two numbers and returns the result.")
@parameter(num1, "The first number")
@parameter(num2, "The second number")
@returns("num1 and num2 added together")
func add(num1: float, num2: float) -> float:
    return num1 + num2

рдорд╛рддрд╛-рдкрд┐рддрд╛ рд░рд╣рд┐рдд рд╕реНрд╡рд╛рдж:

<strong i="28">@description</strong> "Adds two numbers and returns the result."
<strong i="29">@parameter</strong> num1 "The first number"
<strong i="30">@parameter</strong> num2 "The second number"
<strong i="31">@returns</strong> "num1 and num2 added together"
func add(num1: float, num2: float) -> float:
    return num1 + num2

рдореБрдЭреЗ рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдбреЙрдХреНрдЯрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдЕрднреА рднреА рдкреНрд░рд▓реЗрдЦрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЧреИрд░-рдбреЙрдХреНрдЯрд░ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдореИрдВ func- рдЬреИрд╕реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдПрдиреЛрдЯреЗрд╢рди рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, @parameter рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддрд░рд╣ рдХреЗрд╡рд▓ @param @description рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, @desc , @descr рдпрд╛ @func ред

рдЧреЛрдбреЛрдбреЙрдХ рдореЗрдВ рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЯрд╛рдЗрдкрдбреЙрдХ рдЬреЛ рд╕реНрд╡рдпрдВ рдЬреЗрдПрд╕рдбреЙрдХ рдФрд░ рдЬрд╛рд╡рд╛рдбреЛрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:

## Same as [[bool_]], but `on_false`/`on_true` are functions.
## Only selected function will be called and its return value will be returned from `bool_lazy`.
## <strong i="44">@typeparam</strong> T {any} Return type
## <strong i="45">@param</strong> cond {bool} Condition
## <strong i="46">@param</strong> on_false {FuncLike<T>} Function to call and return its result when `cond` is `false`
## <strong i="47">@param</strong> on_true {FuncLike<T>} Function to call and return its result when `cond` is `true`
## <strong i="48">@return</strong> {T}
func bool_lazy_(cond: bool, on_false, on_true): return GGI.bool_lazy_(cond, on_false, on_true)
var bool_lazy = funcref(self, "bool_lazy_")

рдЬрдм рддрдХ рдХрд┐ рдпрд╣ @description рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ func . рдХреА рд╢реБрд░реБрдЖрдд рддрдХ рдврд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛

рд╣рд╛рдВ, рдЖрдо рддреМрд░ рдкрд░ рдлреЛрд▓реНрдбрд┐рдВрдЧ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлреЛрд▓реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕рдВрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬреЛрдбрд╝рд╛ рд╣реЛрдЧрд╛ (рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреНрд▓реЙрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлреЛрд▓реНрдбрд┐рдВрдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдХрдХреНрд╖рд╛рдПрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдзреНрд╡рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреА)ред

рдореБрдЭреЗ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд╕рд╛рдордиреЗ рдпрд╛ рдКрдкрд░ рд░рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкрд╕рдВрдж рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП @annotation(a, b) рдЕрдЪреНрдЫрд╛ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рдкреИрд░рд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдмреНрд░реИрдХреЗрдЯ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВред рд╕рд╛рдордиреЗ рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЖрдЬ рдХреЗ рдХреАрд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдЦрди рдХреА рд╕рдорд╛рди рдЧрддрд┐ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ export рдФрд░ onready рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЖрдо рд╣реИрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рднреА рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдБред рдореБрдЭреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рдиреЗ рд╡рд╛рд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ), рдЬрдмрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЕрдХреНрд╕рд░ рдЯрд┐рдкреНрдкрдгреА-рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рд░рд╛рд╢рд┐ рдХреЛ рддреАрди рдЧреБрдирд╛ рдХрд░ рджреЗрдЧрд╛, рдлрд┐рд░ рд╣рд░ рдЬрдЧрд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реА рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ... рдпрд╣ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ рд╡рд╣ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреАред рдореВрд▓ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рд╡рд╣реА рдЙрдкрдпреЛрдЧ рдкрд╕рдВрдж рд╣реИ рдЬреЛ рд╕реА # рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрд╣реБрдд рдХрдо рдПрдиреЛрдЯреЗрд╢рди рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ (рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рджреБрд░реНрд▓рдн рд╣реЛрддреЗ рд╣реИрдВ, рд╣рд░ рдХрд┐рд╕реА рдХреЛ 5 рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрдиреА рдкрдбрд╝рддреА рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) . рдпрджрд┐ рддрд░реНрдХ рдЧреЛрдбреЛрдЯ рдХреЗ рдкрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдиреЛрдЯреЗрд╢рди рдЖрдИрдПрдордУ рдХреЗ рд╕рд╛рде рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдо рд╕реЗ рдХрдо, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛, рдЬреЛ рдореБрдЭреЗ рдкреВрд░реНрдг рдкреИрдорд╛рдиреЗ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИред (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд╡рд▓ GDScript рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ _get_property_list рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдЬ рдХреЗрд╕ рдЗрд╕реЗ рдФрд░ рднреА рдЕрдЬреАрдм рдмрдирд╛рддрд╛ рд╣реИ)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬрд╝рд┐рд▓рд╛рди рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрдпрд╛рдд (рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ) рдЬреИрд╕реЗ рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЕрдиреБрдорддрд┐ рджреВрдВрдЧрд╛:

# No parenthesis when there are no parameters
<strong i="6">@export</strong> var myvar
# With parenthesis for parameters
@export(ENUM, "Up,Down,Left,Right") var myvar2
# Being able to write the annoation on the line before
@export(ENUM, "Up,Down,Left,Right") 
var myvar2

рдкреНрд░рд▓реЗрдЦрди рднрд╛рдЧ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдФрд░ рднреА рд╕рд░рд▓ рдмрдирд╛ рджреВрдВрдЧрд╛ ( рд╣реБрдП ):

<strong i="11">@description</strong> "Adds two numbers and returns the result."
<strong i="12">@parameter</strong> "The first number" # No need to name the args if they are ordered
<strong i="13">@parameter</strong> "The second number"
<strong i="14">@returns</strong> "num1 and num2 added together"
func add(num1: float, num2: float) -> float:
    return num1 + num2

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдХрд╣реАрдВ рдФрд░ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХреЗред рдПрдХ рдЬреЗрд╕рди, рдПрдХреНрд╕рдПрдордПрд▓ рдпрд╛ рдЖрд░рдПрд╕рдЯреА рдлрд╛рдЗрд▓ рдореЗрдВ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ред рдЗрди-рдХреЛрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╣рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдХреЗрд╡рд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рдирд╛ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдХрдард┐рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХрд┐рдВрдЧ: Godotengine/godot-proposals#177

рдкрд╛рд░реНрдЯреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рджреЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЧреЛрдбреЛрдЯ рдореЗрдВ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдЬрдмрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рд╛рдорд╛рди рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдмрдирд╛рддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдорд╛рди) рдореЗрд░рд╛ рдореБрдЦреНрдп рддрд░реНрдХ рдХрд╕реНрдЯрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рдЬреЛ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдкреВрд░реНрдг рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

onready рдХреАрд╡рд░реНрдб рдФрд░ рдЙрд╕рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ onready рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЛрдб рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдЖрдк рдХреБрдЫ рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВ рдЬреЛ _ready рдирд┐рд░реНрднрд░ рд╣реИрдВ, рддреЛ рдЖрдк null рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

func explode():
    var bomb = preload("res://explosion.tscn").instance()
    # Oops, forgot to `add_child(bomb)` earlier
    bomb.fuse.wait_time = 5.0 # ERROR: fuse is `null`
    add_child(bomb)
    # ... because `fuse` is a $Timer node 
    # which is only initialized once added to the scene tree.

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ add_child() рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕реНрдб рд╕реАрди рдХреА рдЬрд░реВрд░рдд рд╣реИ fuse , рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЕрдиреНрдп рдиреЛрдбреНрд╕/рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реАрди рдЯреНрд░реА рдореЗрдВ рд╕реАрди рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдЯреАрдХ рдлреНрдпреВрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ?

рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдореБрдЭреЗ https://github.com/godotengine/godot/issues/33620#issuecomment -559999681 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╡рд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, onready рд╕рд┐рд░реНрдл NOTIFICATION_READY , рдЬрдмрдХрд┐ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ NOTIFICATION_INSTANCED рдФрд░ рдореЗрд░реЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рднреА рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рдерд╛ред рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ oninstanced рдХреАрд╡рд░реНрдб рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХрд┐рд╕ рдУрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ onready рдХреАрд╡рд░реНрдб рдХреЛ рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд░реАрдореЗрдХ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рдХреБрдЫ рдЕрдиреНрдп рдХреЛрдиреЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рдирд╛ (рдЬреИрд╕реЗ рдореЗрд░рд╛, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣!) @oninstanced рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдлреВрд▓рд╛ рд╣реБрдЖ рдмрд┐рдирд╛ , рд╕рд╛рде рд╣реА рдЖрд░рдВрднреАрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ ( _init , _enter_tree , рдЖрджрд┐)ред

рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╕реНрддрд╛рд╡: godotengine/godot-proposals#260.

рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдЦреЛрд▓рд╛: https://github.com/godotengine/godot-proposals/issues/828

рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗ рд╡рд┐рд╕реНрдерд╛рдкрд┐рддред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

testman42 picture testman42  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kirilledelman picture kirilledelman  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bojidar-bg picture bojidar-bg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ndee85 picture ndee85  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

EdwardAngeles picture EdwardAngeles  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ