class_atlastexture.rst 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the AtlasTexture.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_AtlasTexture:
  6. AtlasTexture
  7. ============
  8. **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. Crops out one part of a texture, such as a texture from a texture atlas.
  10. Description
  11. -----------
  12. :ref:`Texture<class_Texture>` resource that crops out one part of the :ref:`atlas<class_AtlasTexture_property_atlas>` texture, defined by :ref:`region<class_AtlasTexture_property_region>`. The main use case is cropping out textures from a texture atlas, which is a big texture file that packs multiple smaller textures. Consists of a :ref:`Texture<class_Texture>` for the :ref:`atlas<class_AtlasTexture_property_atlas>`, a :ref:`region<class_AtlasTexture_property_region>` that defines the area of :ref:`atlas<class_AtlasTexture_property_atlas>` to use, and a :ref:`margin<class_AtlasTexture_property_margin>` that defines the border width.
  13. ``AtlasTexture`` cannot be used in an :ref:`AnimatedTexture<class_AnimatedTexture>`, cannot be tiled in nodes such as :ref:`TextureRect<class_TextureRect>`, and does not work properly if used inside of other ``AtlasTexture`` resources. Multiple ``AtlasTexture`` resources can be used to crop multiple textures from the atlas. Using a texture atlas helps to optimize video memory costs and render calls compared to using multiple small files.
  14. **Note:** AtlasTextures don't support repetition. The :ref:`Texture.FLAG_REPEAT<class_Texture_constant_FLAG_REPEAT>` and :ref:`Texture.FLAG_MIRRORED_REPEAT<class_Texture_constant_FLAG_MIRRORED_REPEAT>` flags are ignored when using an AtlasTexture.
  15. Properties
  16. ----------
  17. +-------------------------------+-------------------------------------------------------------+---------------------------+
  18. | :ref:`Texture<class_Texture>` | :ref:`atlas<class_AtlasTexture_property_atlas>` | |
  19. +-------------------------------+-------------------------------------------------------------+---------------------------+
  20. | :ref:`bool<class_bool>` | :ref:`filter_clip<class_AtlasTexture_property_filter_clip>` | ``false`` |
  21. +-------------------------------+-------------------------------------------------------------+---------------------------+
  22. | :ref:`int<class_int>` | flags | ``0`` *(parent override)* |
  23. +-------------------------------+-------------------------------------------------------------+---------------------------+
  24. | :ref:`Rect2<class_Rect2>` | :ref:`margin<class_AtlasTexture_property_margin>` | ``Rect2( 0, 0, 0, 0 )`` |
  25. +-------------------------------+-------------------------------------------------------------+---------------------------+
  26. | :ref:`Rect2<class_Rect2>` | :ref:`region<class_AtlasTexture_property_region>` | ``Rect2( 0, 0, 0, 0 )`` |
  27. +-------------------------------+-------------------------------------------------------------+---------------------------+
  28. Property Descriptions
  29. ---------------------
  30. .. _class_AtlasTexture_property_atlas:
  31. - :ref:`Texture<class_Texture>` **atlas**
  32. +----------+------------------+
  33. | *Setter* | set_atlas(value) |
  34. +----------+------------------+
  35. | *Getter* | get_atlas() |
  36. +----------+------------------+
  37. The texture that contains the atlas. Can be any :ref:`Texture<class_Texture>` subtype.
  38. ----
  39. .. _class_AtlasTexture_property_filter_clip:
  40. - :ref:`bool<class_bool>` **filter_clip**
  41. +-----------+------------------------+
  42. | *Default* | ``false`` |
  43. +-----------+------------------------+
  44. | *Setter* | set_filter_clip(value) |
  45. +-----------+------------------------+
  46. | *Getter* | has_filter_clip() |
  47. +-----------+------------------------+
  48. If ``true``, clips the area outside of the region to avoid bleeding of the surrounding texture pixels.
  49. ----
  50. .. _class_AtlasTexture_property_margin:
  51. - :ref:`Rect2<class_Rect2>` **margin**
  52. +-----------+-------------------------+
  53. | *Default* | ``Rect2( 0, 0, 0, 0 )`` |
  54. +-----------+-------------------------+
  55. | *Setter* | set_margin(value) |
  56. +-----------+-------------------------+
  57. | *Getter* | get_margin() |
  58. +-----------+-------------------------+
  59. The margin around the region. The :ref:`Rect2<class_Rect2>`'s :ref:`Rect2.size<class_Rect2_property_size>` parameter ("w" and "h" in the editor) resizes the texture so it fits within the margin.
  60. ----
  61. .. _class_AtlasTexture_property_region:
  62. - :ref:`Rect2<class_Rect2>` **region**
  63. +-----------+-------------------------+
  64. | *Default* | ``Rect2( 0, 0, 0, 0 )`` |
  65. +-----------+-------------------------+
  66. | *Setter* | set_region(value) |
  67. +-----------+-------------------------+
  68. | *Getter* | get_region() |
  69. +-----------+-------------------------+
  70. The AtlasTexture's used region.
  71. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  72. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  73. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`