[email protected] 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
  3. .. _class_@GDScript:
  4. @GDScript
  5. =========
  6. **Category:** Core
  7. Brief Description
  8. -----------------
  9. Built-in GDScript functions.
  10. Member Functions
  11. ----------------
  12. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  13. | :ref:`float<class_float>` | :ref:`sin<class_@GDScript_sin>` **(** :ref:`float<class_float>` s **)** |
  14. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  15. | :ref:`float<class_float>` | :ref:`cos<class_@GDScript_cos>` **(** :ref:`float<class_float>` s **)** |
  16. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  17. | :ref:`float<class_float>` | :ref:`tan<class_@GDScript_tan>` **(** :ref:`float<class_float>` s **)** |
  18. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  19. | :ref:`float<class_float>` | :ref:`sinh<class_@GDScript_sinh>` **(** :ref:`float<class_float>` s **)** |
  20. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  21. | :ref:`float<class_float>` | :ref:`cosh<class_@GDScript_cosh>` **(** :ref:`float<class_float>` s **)** |
  22. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  23. | :ref:`float<class_float>` | :ref:`tanh<class_@GDScript_tanh>` **(** :ref:`float<class_float>` s **)** |
  24. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  25. | :ref:`float<class_float>` | :ref:`asin<class_@GDScript_asin>` **(** :ref:`float<class_float>` s **)** |
  26. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | :ref:`float<class_float>` | :ref:`acos<class_@GDScript_acos>` **(** :ref:`float<class_float>` s **)** |
  28. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | :ref:`float<class_float>` | :ref:`atan<class_@GDScript_atan>` **(** :ref:`float<class_float>` s **)** |
  30. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | :ref:`float<class_float>` | :ref:`atan2<class_@GDScript_atan2>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  32. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | :ref:`float<class_float>` | :ref:`sqrt<class_@GDScript_sqrt>` **(** :ref:`float<class_float>` s **)** |
  34. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`float<class_float>` | :ref:`fmod<class_@GDScript_fmod>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  36. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`float<class_float>` | :ref:`fposmod<class_@GDScript_fposmod>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  38. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`float<class_float>` | :ref:`floor<class_@GDScript_floor>` **(** :ref:`float<class_float>` s **)** |
  40. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`float<class_float>` | :ref:`ceil<class_@GDScript_ceil>` **(** :ref:`float<class_float>` s **)** |
  42. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`float<class_float>` | :ref:`round<class_@GDScript_round>` **(** :ref:`float<class_float>` s **)** |
  44. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`float<class_float>` | :ref:`abs<class_@GDScript_abs>` **(** :ref:`float<class_float>` s **)** |
  46. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`float<class_float>` | :ref:`sign<class_@GDScript_sign>` **(** :ref:`float<class_float>` s **)** |
  48. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | :ref:`float<class_float>` | :ref:`pow<class_@GDScript_pow>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  50. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | :ref:`float<class_float>` | :ref:`log<class_@GDScript_log>` **(** :ref:`float<class_float>` s **)** |
  52. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | :ref:`float<class_float>` | :ref:`exp<class_@GDScript_exp>` **(** :ref:`float<class_float>` s **)** |
  54. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | :ref:`float<class_float>` | :ref:`is_nan<class_@GDScript_is_nan>` **(** :ref:`float<class_float>` s **)** |
  56. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | :ref:`float<class_float>` | :ref:`is_inf<class_@GDScript_is_inf>` **(** :ref:`float<class_float>` s **)** |
  58. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | :ref:`float<class_float>` | :ref:`ease<class_@GDScript_ease>` **(** :ref:`float<class_float>` s, :ref:`float<class_float>` curve **)** |
  60. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | :ref:`float<class_float>` | :ref:`decimals<class_@GDScript_decimals>` **(** :ref:`float<class_float>` step **)** |
  62. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | :ref:`float<class_float>` | :ref:`stepify<class_@GDScript_stepify>` **(** :ref:`float<class_float>` s, :ref:`float<class_float>` step **)** |
  64. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | :ref:`float<class_float>` | :ref:`lerp<class_@GDScript_lerp>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)** |
  66. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | :ref:`float<class_float>` | :ref:`dectime<class_@GDScript_dectime>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` amount, :ref:`float<class_float>` step **)** |
  68. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`Nil<class_nil>` | :ref:`randomize<class_@GDScript_randomize>` **(** **)** |
  70. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | :ref:`int<class_int>` | :ref:`randi<class_@GDScript_randi>` **(** **)** |
  72. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | :ref:`float<class_float>` | :ref:`randf<class_@GDScript_randf>` **(** **)** |
  74. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | :ref:`float<class_float>` | :ref:`rand_range<class_@GDScript_rand_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)** |
  76. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | :ref:`Nil<class_nil>` | :ref:`seed<class_@GDScript_seed>` **(** :ref:`float<class_float>` seed **)** |
  78. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | :ref:`Array<class_array>` | :ref:`rand_seed<class_@GDScript_rand_seed>` **(** :ref:`float<class_float>` seed **)** |
  80. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | :ref:`float<class_float>` | :ref:`deg2rad<class_@GDScript_deg2rad>` **(** :ref:`float<class_float>` deg **)** |
  82. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | :ref:`float<class_float>` | :ref:`rad2deg<class_@GDScript_rad2deg>` **(** :ref:`float<class_float>` rad **)** |
  84. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | :ref:`float<class_float>` | :ref:`linear2db<class_@GDScript_linear2db>` **(** :ref:`float<class_float>` nrg **)** |
  86. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | :ref:`float<class_float>` | :ref:`db2linear<class_@GDScript_db2linear>` **(** :ref:`float<class_float>` db **)** |
  88. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | :ref:`float<class_float>` | :ref:`max<class_@GDScript_max>` **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)** |
  90. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | :ref:`float<class_float>` | :ref:`min<class_@GDScript_min>` **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)** |
  92. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | :ref:`float<class_float>` | :ref:`clamp<class_@GDScript_clamp>` **(** :ref:`float<class_float>` val, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)** |
  94. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | :ref:`int<class_int>` | :ref:`nearest_po2<class_@GDScript_nearest_po2>` **(** :ref:`int<class_int>` val **)** |
  96. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | :ref:`WeakRef<class_weakref>` | :ref:`weakref<class_@GDScript_weakref>` **(** :ref:`Object<class_object>` obj **)** |
  98. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | :ref:`FuncRef<class_funcref>` | :ref:`funcref<class_@GDScript_funcref>` **(** :ref:`Object<class_object>` instance, :ref:`String<class_string>` funcname **)** |
  100. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | :ref:`Object<class_object>` | :ref:`convert<class_@GDScript_convert>` **(** Variant what, :ref:`int<class_int>` type **)** |
  102. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | :ref:`int<class_int>` | :ref:`typeof<class_@GDScript_typeof>` **(** Variant what **)** |
  104. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | :ref:`String<class_string>` | :ref:`str<class_@GDScript_str>` **(** Variant what, Variant ... **)** |
  106. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | :ref:`Nil<class_nil>` | :ref:`print<class_@GDScript_print>` **(** Variant what, Variant ... **)** |
  108. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | :ref:`Nil<class_nil>` | :ref:`printt<class_@GDScript_printt>` **(** Variant what, Variant ... **)** |
  110. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. | :ref:`Nil<class_nil>` | :ref:`prints<class_@GDScript_prints>` **(** Variant what, Variant ... **)** |
  112. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  113. | :ref:`Nil<class_nil>` | :ref:`printerr<class_@GDScript_printerr>` **(** Variant what, Variant ... **)** |
  114. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  115. | :ref:`Nil<class_nil>` | :ref:`printraw<class_@GDScript_printraw>` **(** Variant what, Variant ... **)** |
  116. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  117. | :ref:`String<class_string>` | :ref:`var2str<class_@GDScript_var2str>` **(** Variant var **)** |
  118. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  119. | Variant | :ref:`str2var<class_@GDScript_str2var>` **(** :ref:`String<class_string>` string **)** |
  120. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  121. | :ref:`RawArray<class_rawarray>` | :ref:`var2bytes<class_@GDScript_var2bytes>` **(** Variant var **)** |
  122. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  123. | Variant | :ref:`bytes2var<class_@GDScript_bytes2var>` **(** :ref:`RawArray<class_rawarray>` bytes **)** |
  124. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  125. | :ref:`Array<class_array>` | :ref:`range<class_@GDScript_range>` **(** Variant ... **)** |
  126. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  127. | :ref:`Resource<class_resource>` | :ref:`load<class_@GDScript_load>` **(** :ref:`String<class_string>` path **)** |
  128. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | :ref:`Dictionary<class_dictionary>` | :ref:`inst2dict<class_@GDScript_inst2dict>` **(** :ref:`Object<class_object>` inst **)** |
  130. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | :ref:`Object<class_object>` | :ref:`dict2inst<class_@GDScript_dict2inst>` **(** :ref:`Dictionary<class_dictionary>` dict **)** |
  132. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | :ref:`int<class_int>` | :ref:`hash<class_@GDScript_hash>` **(** Variant var:Variant **)** |
  134. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | :ref:`Color<class_color>` | :ref:`Color8<class_@GDScript_Color8>` **(** :ref:`int<class_int>` r8, :ref:`int<class_int>` g8, :ref:`int<class_int>` b8, :ref:`int<class_int>` a8 **)** |
  136. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | :ref:`Nil<class_nil>` | :ref:`print_stack<class_@GDScript_print_stack>` **(** **)** |
  138. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | :ref:`Object<class_object>` | :ref:`instance_from_id<class_@GDScript_instance_from_id>` **(** :ref:`int<class_int>` instance_id **)** |
  140. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | :ref:`Resource<class_resource>` | :ref:`preload<class_@GDScript_preload>` **(** :ref:`String<class_string>` path **)** |
  142. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | :ref:`Nil<class_nil>` | :ref:`yield<class_@GDScript_yield>` **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal **)** |
  144. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. | :ref:`Nil<class_nil>` | :ref:`assert<class_@GDScript_assert>` **(** :ref:`bool<class_bool>` condition **)** |
  146. +--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
  147. Numeric Constants
  148. -----------------
  149. - **PI** = **3.141593** --- Constant that represents how many times the diameter of a circumference fits around it's perimeter.
  150. Description
  151. -----------
  152. This contains the list of built-in gdscript functions. Mostly math functions and other utilities. Everything else is expanded by objects.
  153. Member Function Description
  154. ---------------------------
  155. .. _class_@GDScript_sin:
  156. - :ref:`float<class_float>` **sin** **(** :ref:`float<class_float>` s **)**
  157. Standard sine function.
  158. .. _class_@GDScript_cos:
  159. - :ref:`float<class_float>` **cos** **(** :ref:`float<class_float>` s **)**
  160. Standard cosine function.
  161. .. _class_@GDScript_tan:
  162. - :ref:`float<class_float>` **tan** **(** :ref:`float<class_float>` s **)**
  163. Standard tangent function.
  164. .. _class_@GDScript_sinh:
  165. - :ref:`float<class_float>` **sinh** **(** :ref:`float<class_float>` s **)**
  166. Hyperbolic sine.
  167. .. _class_@GDScript_cosh:
  168. - :ref:`float<class_float>` **cosh** **(** :ref:`float<class_float>` s **)**
  169. Hyperbolic cosine.
  170. .. _class_@GDScript_tanh:
  171. - :ref:`float<class_float>` **tanh** **(** :ref:`float<class_float>` s **)**
  172. Hyperbolic tangent.
  173. .. _class_@GDScript_asin:
  174. - :ref:`float<class_float>` **asin** **(** :ref:`float<class_float>` s **)**
  175. Arc-sine.
  176. .. _class_@GDScript_acos:
  177. - :ref:`float<class_float>` **acos** **(** :ref:`float<class_float>` s **)**
  178. Arc-cosine.
  179. .. _class_@GDScript_atan:
  180. - :ref:`float<class_float>` **atan** **(** :ref:`float<class_float>` s **)**
  181. Arc-tangent.
  182. .. _class_@GDScript_atan2:
  183. - :ref:`float<class_float>` **atan2** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  184. Arc-tangent that takes a 2D vector as argument, returns the full -pi to +pi range.
  185. .. _class_@GDScript_sqrt:
  186. - :ref:`float<class_float>` **sqrt** **(** :ref:`float<class_float>` s **)**
  187. Square root.
  188. .. _class_@GDScript_fmod:
  189. - :ref:`float<class_float>` **fmod** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  190. Module (remainder of x/y).
  191. .. _class_@GDScript_fposmod:
  192. - :ref:`float<class_float>` **fposmod** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  193. Module (remainder of x/y) that wraps equally in positive and negative.
  194. .. _class_@GDScript_floor:
  195. - :ref:`float<class_float>` **floor** **(** :ref:`float<class_float>` s **)**
  196. Floor (rounds down to nearest integer).
  197. .. _class_@GDScript_ceil:
  198. - :ref:`float<class_float>` **ceil** **(** :ref:`float<class_float>` s **)**
  199. Ceiling (rounds up to nearest integer).
  200. .. _class_@GDScript_round:
  201. - :ref:`float<class_float>` **round** **(** :ref:`float<class_float>` s **)**
  202. Round to nearest integer.
  203. .. _class_@GDScript_abs:
  204. - :ref:`float<class_float>` **abs** **(** :ref:`float<class_float>` s **)**
  205. Remove sign (works for integer and float).
  206. .. _class_@GDScript_sign:
  207. - :ref:`float<class_float>` **sign** **(** :ref:`float<class_float>` s **)**
  208. Return sign (-1 or +1).
  209. .. _class_@GDScript_pow:
  210. - :ref:`float<class_float>` **pow** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  211. Power function, x elevate to y.
  212. .. _class_@GDScript_log:
  213. - :ref:`float<class_float>` **log** **(** :ref:`float<class_float>` s **)**
  214. Natural logarithm.
  215. .. _class_@GDScript_exp:
  216. - :ref:`float<class_float>` **exp** **(** :ref:`float<class_float>` s **)**
  217. Exponential logarithm.
  218. .. _class_@GDScript_is_nan:
  219. - :ref:`float<class_float>` **is_nan** **(** :ref:`float<class_float>` s **)**
  220. Return true if the float is not a number.
  221. .. _class_@GDScript_is_inf:
  222. - :ref:`float<class_float>` **is_inf** **(** :ref:`float<class_float>` s **)**
  223. Return true if the float is infinite.
  224. .. _class_@GDScript_ease:
  225. - :ref:`float<class_float>` **ease** **(** :ref:`float<class_float>` s, :ref:`float<class_float>` curve **)**
  226. Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is ease-in, 1+ is ease out. Negative values are in-out/out in.
  227. .. _class_@GDScript_decimals:
  228. - :ref:`float<class_float>` **decimals** **(** :ref:`float<class_float>` step **)**
  229. Return the amount of decimals in the floating point value.
  230. .. _class_@GDScript_stepify:
  231. - :ref:`float<class_float>` **stepify** **(** :ref:`float<class_float>` s, :ref:`float<class_float>` step **)**
  232. Snap float value to a given step.
  233. .. _class_@GDScript_lerp:
  234. - :ref:`float<class_float>` **lerp** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**
  235. Linear interpolates between two values by a normalized value.
  236. .. _class_@GDScript_dectime:
  237. - :ref:`float<class_float>` **dectime** **(** :ref:`float<class_float>` value, :ref:`float<class_float>` amount, :ref:`float<class_float>` step **)**
  238. Decreases time by a specified amount.
  239. .. _class_@GDScript_randomize:
  240. - :ref:`Nil<class_nil>` **randomize** **(** **)**
  241. Reset the seed of the random number generator with a new, different one.
  242. .. _class_@GDScript_randi:
  243. - :ref:`int<class_int>` **randi** **(** **)**
  244. Random 32 bits value (integer). To obtain a value from 0 to N, you can use remainder, like (for random from 0 to 19): randi() % 20.
  245. .. _class_@GDScript_randf:
  246. - :ref:`float<class_float>` **randf** **(** **)**
  247. Random value (0 to 1 float).
  248. .. _class_@GDScript_rand_range:
  249. - :ref:`float<class_float>` **rand_range** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**
  250. Random range, any floating point value between 'from' and 'to'
  251. .. _class_@GDScript_seed:
  252. - :ref:`Nil<class_nil>` **seed** **(** :ref:`float<class_float>` seed **)**
  253. Set seed for the random number generator.
  254. .. _class_@GDScript_rand_seed:
  255. - :ref:`Array<class_array>` **rand_seed** **(** :ref:`float<class_float>` seed **)**
  256. Random from seed, pass a seed and an array with both number and new seed is returned.
  257. .. _class_@GDScript_deg2rad:
  258. - :ref:`float<class_float>` **deg2rad** **(** :ref:`float<class_float>` deg **)**
  259. Convert from degrees to radians.
  260. .. _class_@GDScript_rad2deg:
  261. - :ref:`float<class_float>` **rad2deg** **(** :ref:`float<class_float>` rad **)**
  262. Convert from radians to degrees.
  263. .. _class_@GDScript_linear2db:
  264. - :ref:`float<class_float>` **linear2db** **(** :ref:`float<class_float>` nrg **)**
  265. Convert from linear energy to decibels (audio).
  266. .. _class_@GDScript_db2linear:
  267. - :ref:`float<class_float>` **db2linear** **(** :ref:`float<class_float>` db **)**
  268. Convert from decibels to linear energy (audio).
  269. .. _class_@GDScript_max:
  270. - :ref:`float<class_float>` **max** **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)**
  271. Return the maximum of two values.
  272. .. _class_@GDScript_min:
  273. - :ref:`float<class_float>` **min** **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)**
  274. Return the minimum of two values.
  275. .. _class_@GDScript_clamp:
  276. - :ref:`float<class_float>` **clamp** **(** :ref:`float<class_float>` val, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)**
  277. Clamp both values to a range.
  278. .. _class_@GDScript_nearest_po2:
  279. - :ref:`int<class_int>` **nearest_po2** **(** :ref:`int<class_int>` val **)**
  280. Return the nearest larger power of 2 for an integer.
  281. .. _class_@GDScript_weakref:
  282. - :ref:`WeakRef<class_weakref>` **weakref** **(** :ref:`Object<class_object>` obj **)**
  283. Return a weak reference to an object.
  284. .. _class_@GDScript_funcref:
  285. - :ref:`FuncRef<class_funcref>` **funcref** **(** :ref:`Object<class_object>` instance, :ref:`String<class_string>` funcname **)**
  286. Return a reference to the specified function.
  287. .. _class_@GDScript_convert:
  288. - :ref:`Object<class_object>` **convert** **(** Variant what, :ref:`int<class_int>` type **)**
  289. Convert from a type to another in the best way possible. The "type" parameter uses the enum TYPE\_\* in :ref:`@Global Scope<class_@global scope>`.
  290. .. _class_@GDScript_typeof:
  291. - :ref:`int<class_int>` **typeof** **(** Variant what **)**
  292. Return the internal type of the given Variant object, using the TYPE\_\* enum in :ref:`@Global Scope<class_@global scope>`.
  293. .. _class_@GDScript_str:
  294. - :ref:`String<class_string>` **str** **(** Variant what, Variant ... **)**
  295. Convert one or more arguments to strings in the best way possible.
  296. .. _class_@GDScript_print:
  297. - :ref:`Nil<class_nil>` **print** **(** Variant what, Variant ... **)**
  298. Print one or more arguments to strings in the best way possible to a console line.
  299. .. _class_@GDScript_printt:
  300. - :ref:`Nil<class_nil>` **printt** **(** Variant what, Variant ... **)**
  301. Print one or more arguments to the console with a tab between each argument.
  302. .. _class_@GDScript_prints:
  303. - :ref:`Nil<class_nil>` **prints** **(** Variant what, Variant ... **)**
  304. Print one or more arguments to the console with a space between each argument.
  305. .. _class_@GDScript_printerr:
  306. - :ref:`Nil<class_nil>` **printerr** **(** Variant what, Variant ... **)**
  307. Print one or more arguments to strings in the best way possible to standard error line.
  308. .. _class_@GDScript_printraw:
  309. - :ref:`Nil<class_nil>` **printraw** **(** Variant what, Variant ... **)**
  310. Print one or more arguments to strings in the best way possible to console. No newline is added at the end.
  311. .. _class_@GDScript_var2str:
  312. - :ref:`String<class_string>` **var2str** **(** Variant var **)**
  313. Convert a value to a formatted string that can later be parsed using :ref:`str2var<class_@GDScript_str2var>`.
  314. .. _class_@GDScript_str2var:
  315. - Variant **str2var** **(** :ref:`String<class_string>` string **)**
  316. Convert a formatted string that was returned by :ref:`var2str<class_@GDScript_var2str>` to the original value.
  317. .. _class_@GDScript_var2bytes:
  318. - :ref:`RawArray<class_rawarray>` **var2bytes** **(** Variant var **)**
  319. Encode a variable value to a byte array.
  320. .. _class_@GDScript_bytes2var:
  321. - Variant **bytes2var** **(** :ref:`RawArray<class_rawarray>` bytes **)**
  322. Decode a byte array back to a value.
  323. .. _class_@GDScript_range:
  324. - :ref:`Array<class_array>` **range** **(** Variant ... **)**
  325. Return an array with the given range. Range can be 1 argument N (0 to N-1), two arguments (initial, final-1) or three arguments (initial, final-1, increment).
  326. .. _class_@GDScript_load:
  327. - :ref:`Resource<class_resource>` **load** **(** :ref:`String<class_string>` path **)**
  328. Load a resource from the filesystem, pass a valid path as argument.
  329. .. _class_@GDScript_inst2dict:
  330. - :ref:`Dictionary<class_dictionary>` **inst2dict** **(** :ref:`Object<class_object>` inst **)**
  331. Convert a script class instance to a dictionary (useful for serializing).
  332. .. _class_@GDScript_dict2inst:
  333. - :ref:`Object<class_object>` **dict2inst** **(** :ref:`Dictionary<class_dictionary>` dict **)**
  334. Convert a previously converted instances to dictionary back into an instance. Useful for deserializing.
  335. .. _class_@GDScript_hash:
  336. - :ref:`int<class_int>` **hash** **(** Variant var:Variant **)**
  337. Hash the variable passed and return an integer.
  338. .. _class_@GDScript_Color8:
  339. - :ref:`Color<class_color>` **Color8** **(** :ref:`int<class_int>` r8, :ref:`int<class_int>` g8, :ref:`int<class_int>` b8, :ref:`int<class_int>` a8 **)**
  340. Make a color from red, green, blue and alpha. Arguments can range from 0 to 255.
  341. .. _class_@GDScript_print_stack:
  342. - :ref:`Nil<class_nil>` **print_stack** **(** **)**
  343. Print a stack track at code location, only works when running with debugger turned on.
  344. .. _class_@GDScript_instance_from_id:
  345. - :ref:`Object<class_object>` **instance_from_id** **(** :ref:`int<class_int>` instance_id **)**
  346. Get an object by its ID.
  347. .. _class_@GDScript_preload:
  348. - :ref:`Resource<class_resource>` **preload** **(** :ref:`String<class_string>` path **)**
  349. Preload a resource from the filesystem. The resource is loaded during script parsing.
  350. .. _class_@GDScript_yield:
  351. - :ref:`Nil<class_nil>` **yield** **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal **)**
  352. Stop the function execution and return the current state. Call resume on the state to resume execution. This makes the state invalid.
  353. Returns anything that was passed to the resume function call.
  354. If passed an object and a signal, the execution is resumed when the object's signal is emmited.
  355. .. _class_@GDScript_assert:
  356. - :ref:`Nil<class_nil>` **assert** **(** :ref:`bool<class_bool>` condition **)**
  357. Assert that the condition is true. If the condition is false, generates an error.