Allocate or reuse a previously-allocated sprite.
Allocate or reuse a previously-allocated sprite.
1 number slot
the slot to reuse. If none is provided, it will allocate a new one.
2 string quadName
the quad to use for the sprite.
3 number x
the X coordinate relative to the element.
4 number y
the Y coordinate relative to the element.
5 number rotation
the rotation of the sprite in radians.
6 number width
the width of the sprite. This is scaled, so do not scale this value unless your UI element class has _scaleHor set to false. This should be an unscaled width value.
7 number height
the height of the sprite. This is scaled, so do not scale this value unless your UI element class has _scaleVert set to false. This should be an unscaled width height.
8 number centerOffsetX (optional)
the X center offset of the sprite.
9 number centerOffsetY (optional)
the Y center offset of the sprite.
10 number depthOffset
the depth offset of the sprite. 0 is on the same depth level as the element itself, -0.1 will render it below the base element depth level. 0.1 will render it above the base element depth level. Generally a negative value should be used, since :draw() is called with a depth offset equivalent of 0.
1 number
slot-the allocated (or reused) sprite in the spritebatch. spriteBatchContainer-spritebatch-the spritebatch that the sprite was allocated in. spriteDataContainer-container-the container of the entire sprite data.
-- taken from the Frame class extension in game/gui/gui.lua
function frame:updateSprites()
local poutline = self:getPanelOutlineColor()
self:setNextSpriteColor(poutline.r, poutline.g, poutline.b, poutline.a)
self.outlineSprite = self:allocateSprite(self.outlineSprite, "generic_1px", -1, -1, 0, self.rawW + 2, self.rawH + 2, 0, 0, -0.6)
local pcol = self:getStateColor()
self:setNextSpriteColor(pcol.r, pcol.g, pcol.b, pcol.a)
self.bottomSprite = self:allocateSprite(self.bottomSprite, "generic_1px", 0, 0, 0, self.rawW, self.rawH, 0, 0, -0.5)
local topSize = self._scaleVert and _US(self.fontHeight + self.offsetY) or self.fontHeight + self.offsetY
local topColor = frame.topRectColor
self:setNextSpriteColor(topColor.r, topColor.g, topColor.b, topColor.a)
self.topSprite = self:allocateSprite(self.topSprite, "generic_1px", 0, 0, 0, self.rawW, topSize, 0, 0, -0.45)
end