Difference between revisions of "TexturePack.new"

From GiderosMobile
(Created page with "__NOTOC__ '''Available since:''' Gideros 2011.6<br/> === Description === <br /> Creates a new `TexturePack` object. This function creates the texture pack at runtime.<br /> <b...")
 
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 +
'''Class:''' [[TexturePack]]<br/>
 +
 
=== Description ===
 
=== Description ===
<br />
+
Creates a new '''TexturePack''' object. This function creates the texture pack at runtime.
Creates a new `TexturePack` object. This function creates the texture pack at runtime.<br />
+
<syntaxhighlight lang="lua">
<br />
+
TexturePack.new(textures,padding,filtering,options)
<source lang="lua">
+
</syntaxhighlight>
= TexturePack.new(texturespaddingfilteringoptions,)
+
 
</source>
+
=== Parameters ===
'''textures:''' (table) file names of textures. ''''''<br/>
+
'''textures''': (table) file names of textures<br/>
'''padding:''' (number) the spacing between textures in pixels ''''''<br/>
+
'''padding''': (number) the spacing between textures in pixels '''optional'''<br/>
'''filtering:''' (boolean, default = false) Whether or not the texture is filtered. ''''''<br/>
+
'''filtering''': (boolean, default = false) whether or not the texture is filtered, that is smoothing the image '''optional'''<br/>
'''options:''' (table, optional) A table that specifies optional paramaters. Currently, &quot;transparentColor&quot; and &quot;format&quot fields are supported. ''''''<br/>
+
'''options''': (table) a table that specifies optional parameters '''optional'''. Currently, "transparentColor" and "format" fields are supported<br/>
 +
 
 +
=== Example ===
 +
'''Store all images in a folder to a table for use in TexturePack'''
 +
<syntaxhighlight lang="lua">
 +
local lfs = require "lfs"
 +
 
 +
local list = {}
 +
 
 +
function attrdir(path)
 +
for file in lfs.dir(path) do
 +
if file ~= "." and file ~= ".." then
 +
local f = path..'/'..file
 +
local attr = lfs.attributes(f)
 +
if attr.mode == "file" then table.insert(list, f) end
 +
end
 +
end
 +
end
 +
attrdir("gfx/hero") -- folder to fetch images from
 +
 
 +
--local tp = TexturePack.new({"gfx/hero/HQ_Trooper_all.png", "gfx/hero/caverman.png", "gfx/hero/test01.png"})
 +
local tp = TexturePack.new(list)
 +
local bmp = Bitmap.new(tp:getTextureRegion("gfx/hero/caverman.png"))
 +
stage:addChild(bmp)
 +
</syntaxhighlight>
 +
 
 +
 
 +
----
 +
 
 
__NOTOC__
 
__NOTOC__
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 +
'''Class:''' [[TexturePack]]<br/>
 +
 
=== Description ===
 
=== Description ===
<br />
+
Creates a new '''TexturePack''' object. This function loads the pre-packed texture atlas created by "'''Gideros Texture Packer'''" tool.
Creates a new `TexturePack` object. This function loads the pre-packed texture atlas created by &quot;Gideros Texture Packer&quot; tool.<br />
+
<syntaxhighlight lang="lua">
<br />
+
TexturePack.new(txtfile,imagefile,filtering,options)
<source lang="lua">
+
</syntaxhighlight>
= TexturePack.new(txtfileimagefilefilteringoptions,)
+
 
</source>
+
=== Parameters ===
'''txtfile:''' (string) ''''''<br/>
+
'''txtfile''': (string) '''Gideros Texture Packer''' text file path<br/>
'''imagefile:''' (string) ''''''<br/>
+
'''imagefile''': (string) '''Gideros Texture Packer''' image file path<br/>
'''filtering:''' (boolean, default = false) Whether or not the texture is filtered. ''''''<br/>
+
'''filtering''': (boolean, default = false) whether or not the texture is filtered, that is smoothing the image '''optional'''<br/>
'''options:''' (table, optional) A table that specifies optional paramaters. Currently, &quot;transparentColor&quot; and &quot;format&quot fields are supported. ''''''<br/>
+
'''options''': (table) a table that specifies optional parameters '''optional'''. Currently, "transparentColor" and "format" fields are supported<br/>
 +
 
 +
=== Example ===
 +
<syntaxhighlight lang="lua">
 +
--[[
 +
Texture pack example
 +
This code is MIT licensed, see http://www.opensource.org/licenses/mit-license.php
 +
(C) 2010 - 2011 Gideros Mobile
 +
]]
 +
 
 +
AnimatedSprite = Core.class(Sprite)
 +
 
 +
function AnimatedSprite:init()
 +
local pack = TexturePack.new("anim.txt", "anim.png")
 +
self.anim = {
 +
Bitmap.new(pack:getTextureRegion("anim_01.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_02.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_03.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_04.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_05.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_06.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_07.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_08.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_09.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_10.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_11.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_12.png")),
 +
Bitmap.new(pack:getTextureRegion("anim_13.png")),
 +
}
 +
self.frame = 1
 +
self:addChild(self.anim[1])
 +
self.nframes = #self.anim
 +
self.subframe = 0
 +
self:addEventListener(Event.ENTER_FRAME, self.onEnterFrame, self)
 +
end
 +
 
 +
function AnimatedSprite:onEnterFrame()
 +
self.subframe += 1
 +
if self.subframe > 4 then -- speed
 +
self:removeChild(self.anim[self.frame])
 +
self.frame += 1
 +
if self.frame > self.nframes then
 +
self.frame = 1
 +
end
 +
self:addChild(self.anim[self.frame])
 +
self.subframe = 0
 +
end
 +
end
 +
 
 +
-- let's go
 +
stage:setOrientation(Stage.LANDSCAPE_LEFT)
 +
stage:addChild(AnimatedSprite.new())
 +
</syntaxhighlight>
 +
 
 +
{{TexturePack}}

Latest revision as of 19:51, 17 May 2025

Available since: Gideros 2011.6
Class: TexturePack

Description

Creates a new TexturePack object. This function creates the texture pack at runtime.

TexturePack.new(textures,padding,filtering,options)

Parameters

textures: (table) file names of textures
padding: (number) the spacing between textures in pixels optional
filtering: (boolean, default = false) whether or not the texture is filtered, that is smoothing the image optional
options: (table) a table that specifies optional parameters optional. Currently, "transparentColor" and "format" fields are supported

Example

Store all images in a folder to a table for use in TexturePack

local lfs = require "lfs"

local list = {}

function attrdir(path)
	for file in lfs.dir(path) do
		if file ~= "." and file ~= ".." then
			local f = path..'/'..file
			local attr = lfs.attributes(f)
			if attr.mode == "file" then table.insert(list, f) end
		end
	end
end
attrdir("gfx/hero") -- folder to fetch images from

--local tp = TexturePack.new({"gfx/hero/HQ_Trooper_all.png", "gfx/hero/caverman.png", "gfx/hero/test01.png"})
local tp = TexturePack.new(list)
local bmp = Bitmap.new(tp:getTextureRegion("gfx/hero/caverman.png"))
stage:addChild(bmp)




Available since: Gideros 2011.6
Class: TexturePack

Description

Creates a new TexturePack object. This function loads the pre-packed texture atlas created by "Gideros Texture Packer" tool.

TexturePack.new(txtfile,imagefile,filtering,options)

Parameters

txtfile: (string) Gideros Texture Packer text file path
imagefile: (string) Gideros Texture Packer image file path
filtering: (boolean, default = false) whether or not the texture is filtered, that is smoothing the image optional
options: (table) a table that specifies optional parameters optional. Currently, "transparentColor" and "format" fields are supported

Example

--[[
Texture pack example
This code is MIT licensed, see http://www.opensource.org/licenses/mit-license.php
(C) 2010 - 2011 Gideros Mobile 
]]

AnimatedSprite = Core.class(Sprite)

function AnimatedSprite:init()
	local pack = TexturePack.new("anim.txt", "anim.png")
	self.anim = {
		Bitmap.new(pack:getTextureRegion("anim_01.png")),
		Bitmap.new(pack:getTextureRegion("anim_02.png")),
		Bitmap.new(pack:getTextureRegion("anim_03.png")),
		Bitmap.new(pack:getTextureRegion("anim_04.png")),
		Bitmap.new(pack:getTextureRegion("anim_05.png")),
		Bitmap.new(pack:getTextureRegion("anim_06.png")),
		Bitmap.new(pack:getTextureRegion("anim_07.png")),
		Bitmap.new(pack:getTextureRegion("anim_08.png")),
		Bitmap.new(pack:getTextureRegion("anim_09.png")),
		Bitmap.new(pack:getTextureRegion("anim_10.png")),
		Bitmap.new(pack:getTextureRegion("anim_11.png")),
		Bitmap.new(pack:getTextureRegion("anim_12.png")),
		Bitmap.new(pack:getTextureRegion("anim_13.png")),
	}
	self.frame = 1
	self:addChild(self.anim[1])
	self.nframes = #self.anim
	self.subframe = 0
	self:addEventListener(Event.ENTER_FRAME, self.onEnterFrame, self)
end

function AnimatedSprite:onEnterFrame()
	self.subframe += 1
	if self.subframe > 4 then -- speed
		self:removeChild(self.anim[self.frame])
		self.frame += 1
		if self.frame > self.nframes then
			self.frame = 1
		end
		self:addChild(self.anim[self.frame])
		self.subframe = 0
	end
end

-- let's go
stage:setOrientation(Stage.LANDSCAPE_LEFT)
stage:addChild(AnimatedSprite.new())