Difference between revisions of "TexturePack"

From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(35 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
'''Supported platforms:''' android, ios, mac, pc<br/>
+
<!-- GIDEROSOBJ:TexturePack -->
 +
'''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 +
'''Inherits from:''' [[TextureBase]]<br/>
 +
 
=== Description ===
 
=== Description ===
<translate>The [[TexturePack]] class specifies a texture pack (or texture atlas). A texture atlas is a large image which contains many smaller sub-images.<br />
+
The '''TexturePack''' class specifies a texture pack (or texture atlas). A texture atlas is a large image which contains many smaller sub-images.
Gideros supports dynamic creation of texture atlases and pre-packed texture atlasses by using &quot;Gideros Texture Packer&quot; tool.<br />
+
 
<br />
+
Gideros supports dynamic creation of texture atlases and pre-packed texture atlasses by using "Gideros Texture Packer" tool.
<br />
+
 
&lt;h3&gt;Dynamic Creation of Texture Packs&lt;/h3&gt;<br />
+
==== Dynamic Creation of Texture Packs ====
<br />
+
To create a texture pack dynamically (at run-time), create a '''TexturePack''' object with a table of file names of textures.
To create a texture pack dynamically (at run-time), create [[TexturePack]] object with a table of file names of textures.<br />
+
<syntaxhighlight lang="lua">
<br />
+
local pack = TexturePack.new({"1.png", "2.png", "3.png", "4.png"})
&lt;pre&gt;&lt;code&gt;local pack = TexturePack.new({&quot;1.png&quot;, &quot;2.png&quot;, &quot;3.png&quot;, &quot;4.png&quot;)}&lt;/code&gt;&lt;/pre&gt;<br />
+
</syntaxhighlight>
&lt;h3&gt;Static Creation of Texture Packs&lt;/h3&gt;<br />
+
 
<br />
+
Example
To create a pre-packed texture atlas, use &quot;Gideros Texture Packer&quot; tool:<br />
+
<syntaxhighlight lang="lua">
<br />
+
local tp = TexturePack.new({"gfx/2_2.png", "gfx/button01.png", "gfx/button02.png", "gfx/cat.jpg"})
![images/texture_packer.png]
+
local bmp = Bitmap.new(tp:getTextureRegion("gfx/button01.png"))
<br />
+
stage:addChild(bmp)
<br />
+
</syntaxhighlight>
This tool exports two files: A [[.txt` file that specifes the positions of texture regions and a `.png]] file of packed texture.<br />
+
 
Use these two files to create texture pack:<br />
+
==== Static Creation of Texture Packs ====
&lt;pre&gt;&lt;code&gt;local pack = TexturePack.new(&quot;pack.txt&quot;, &quot;pack.png&quot;)&lt;/code&gt;&lt;/pre&gt;<br /></translate>
+
To create a pre-packed texture atlas, use "Gideros Texture Packer" tool:
 +
 
 +
[[File:Texture packer.png]]
 +
 
 +
This tool exports two files: a ''.txt'' file that specifies the positions of texture regions and a ''.png'' file of packed texture.
 +
 
 +
Use these two files to create a texture pack:
 +
<syntaxhighlight lang="lua">
 +
local pack = TexturePack.new("pack.txt", "pack.png")
 +
</syntaxhighlight>
 +
 
 
{|-
 
{|-
| style="width: 50%;"|
+
| style="width: 50%; vertical-align:top;"|
 
=== Methods ===
 
=== Methods ===
[[TexturePack.new]] - creates a new TexturePack object<br/>
+
[[TexturePack.new]] ''creates a new TexturePack object from textures''<br/><!--GIDEROSMTD:TexturePack.new(textures,padding,filtering,options) creates a new TexturePack object from textures-->
[[TexturePack.new]] - <br/>
+
[[TexturePack.new]] ''creates a new TexturePack object from texture pack files''<br/><!--GIDEROSMTD:TexturePack.new(txtfile,imagefile,filtering,options) creates a new TexturePack object from texture pack files-->
[[TexturePack:getTextureRegion]] - returns the texture region of texture pack<br/>
+
[[TexturePack.loadAsync]] ''asynchronously loads a TexturePack object from texture pack files''<br/><!--GIDEROSMTD:TexturePack.loadAsync(callback,txtfile,imagefile,filtering,options) asynchronously loads a TexturePack object from texture pack files-->
| style="width: 50%;"|
+
 
 +
[[TexturePack:getLocation]] ''returns the location of the given texture in this pack''<br/><!--GIDEROSMTD:TexturePack:getLocation(texturename) returns the location of the given texture in this pack-->
 +
[[TexturePack:getRegionsNames]] ''returns all the region names of this pack''<br/><!--GIDEROSMTD:TexturePack:getRegionsNames() returns all the region names of this pack-->
 +
[[TexturePack:getTextureRegion]] ''returns the texture region for the given texture name''<br/><!--GIDEROSMTD:TexturePack:getTextureRegion(texturename) returns the texture region for the given texture name-->
 +
 
 +
| style="width: 50%; vertical-align:top;"|
 +
 
 
=== Events ===
 
=== Events ===
 
=== Constants ===
 
=== Constants ===
 
|}
 
|}
 +
 +
{{GIDEROS IMPORTANT LINKS}}

Latest revision as of 15:33, 13 July 2023

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2011.6
Inherits from: TextureBase

Description

The TexturePack class specifies a texture pack (or texture atlas). A texture atlas is a large image which contains many smaller sub-images.

Gideros supports dynamic creation of texture atlases and pre-packed texture atlasses by using "Gideros Texture Packer" tool.

Dynamic Creation of Texture Packs

To create a texture pack dynamically (at run-time), create a TexturePack object with a table of file names of textures.

local pack = TexturePack.new({"1.png", "2.png", "3.png", "4.png"})

Example

local tp = TexturePack.new({"gfx/2_2.png", "gfx/button01.png", "gfx/button02.png", "gfx/cat.jpg"})
local bmp = Bitmap.new(tp:getTextureRegion("gfx/button01.png"))
stage:addChild(bmp)

Static Creation of Texture Packs

To create a pre-packed texture atlas, use "Gideros Texture Packer" tool:

Texture packer.png

This tool exports two files: a .txt file that specifies the positions of texture regions and a .png file of packed texture.

Use these two files to create a texture pack:

local pack = TexturePack.new("pack.txt", "pack.png")

Methods

TexturePack.new creates a new TexturePack object from textures
TexturePack.new creates a new TexturePack object from texture pack files
TexturePack.loadAsync asynchronously loads a TexturePack object from texture pack files

TexturePack:getLocation returns the location of the given texture in this pack
TexturePack:getRegionsNames returns all the region names of this pack
TexturePack:getTextureRegion returns the texture region for the given texture name

Events

Constants