Difference between revisions of "Sprite:clone"
From GiderosMobile
(Created page with "'''Available since:''' Gideros 2022.5<br/> '''Class:''' Sprite<br/> === Description === Returns a new copy of a sprite. All settings are retained in the copy, and...") |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Available since:''' Gideros 2022.5<br/> | '''Available since:''' Gideros 2022.5<br/> | ||
− | '''Class:''' [[ | + | '''Class:''' [[Sprite]]<br/> |
=== Description === | === Description === | ||
− | Returns a new copy of a sprite. All settings are retained in the copy, and all children are recursively cloned. | + | Returns a new copy of a sprite. |
− | All lua fields of the original sprite are also copied to the new sprite. | + | <syntaxhighlight lang="lua"> |
− | The new sprite is, however, not inserted in the original sprite's parent, and listeners are not kept. | + | (sprite) = sprite:clone() |
− | During sprite cloning, the lua method 'newClone' is called on the Sprite, if it exists. | + | </syntaxhighlight> |
− | + | ||
+ | All settings are retained in the copy, and all children are recursively cloned. All lua fields of the original sprite are also copied to the new sprite. The new sprite is, however, not inserted in the original sprite's parent, and listeners are not kept. | ||
+ | |||
+ | During sprite cloning, the lua method ''newClone'' is called on the Sprite, if it exists. | ||
− | < | + | === Example === |
− | ( | + | <syntaxhighlight lang="lua"> |
− | </ | + | local bitmap = Bitmap.new(Texture.new("gfx/test.png")) |
+ | local bitmap2 = Bitmap.new(Texture.new("gfx/arrow_0001.png")) | ||
+ | local bitmap3 = bitmap:clone() | ||
+ | -- position | ||
+ | bitmap:setPosition(32*1, 32*4) | ||
+ | bitmap2:setPosition(32*6, 32*1) | ||
+ | bitmap3:setPosition(32*1, 32*1) | ||
+ | -- order | ||
+ | stage:addChild(bitmap) | ||
+ | stage:addChild(bitmap2) | ||
+ | stage:addChild(bitmap3) | ||
+ | </syntaxhighlight> | ||
{{Sprite}} | {{Sprite}} |
Latest revision as of 04:49, 5 November 2023
Available since: Gideros 2022.5
Class: Sprite
Description
Returns a new copy of a sprite.
(sprite) = sprite:clone()
All settings are retained in the copy, and all children are recursively cloned. All lua fields of the original sprite are also copied to the new sprite. The new sprite is, however, not inserted in the original sprite's parent, and listeners are not kept.
During sprite cloning, the lua method newClone is called on the Sprite, if it exists.
Example
local bitmap = Bitmap.new(Texture.new("gfx/test.png"))
local bitmap2 = Bitmap.new(Texture.new("gfx/arrow_0001.png"))
local bitmap3 = bitmap:clone()
-- position
bitmap:setPosition(32*1, 32*4)
bitmap2:setPosition(32*6, 32*1)
bitmap3:setPosition(32*1, 32*1)
-- order
stage:addChild(bitmap)
stage:addChild(bitmap2)
stage:addChild(bitmap3)
- Sprite:addChild
- Sprite:addChildAt
- Sprite:clearBlendMode
- Sprite:clone
- Sprite:contains
- Sprite:get
- Sprite:getAlpha
- Sprite:getAnchorPoint
- Sprite:getAnchorPosition
- Sprite:getBounds
- Sprite:getChildAt
- Sprite:getChildIndex
- Sprite:getChildrenAtPoint
- Sprite:getClip
- Sprite:getColorTransform
- Sprite:getDrawCount
- Sprite:getHeight
- Sprite:getLayoutConstraints
- Sprite:getLayoutInfo
- Sprite:getLayoutParameters
- Sprite:getMatrix
- Sprite:getNumChildren
- Sprite:getParent
- Sprite:getPosition
- Sprite:getRotation
- Sprite:getRotationX
- Sprite:getRotationY
- Sprite:getScale
- Sprite:getScaleX
- Sprite:getScaleY
- Sprite:getScaleZ
- Sprite:getSize
- Sprite:getSkew
- Sprite:getSkewX
- Sprite:getSkewY
- Sprite:getWidth
- Sprite:getX
- Sprite:getY
- Sprite:getZ
- Sprite:globalToLocal
- Sprite:hitTestPoint
- Sprite:isVisible
- Sprite:localToGlobal
- Sprite:redrawEffects
- Sprite:removeChild
- Sprite:removeChildAt
- Sprite:removeFromParent
- Sprite:set
- Sprite:setAlpha
- Sprite:setAnchorPoint
- Sprite:setAnchorPosition
- Sprite:setBlendMode
- Sprite:setClip
- Sprite:setColorTransform
- Sprite:setEffectConstant
- Sprite:setEffectStack
- Sprite:setGhosts
- Sprite:setLayoutConstraints
- Sprite:setLayoutParameters
- Sprite:setMatrix
- Sprite:setPosition
- Sprite:setRotation
- Sprite:setRotationX
- Sprite:setRotationY
- Sprite:setScale
- Sprite:setScaleX
- Sprite:setScaleY
- Sprite:setScaleZ
- Sprite:setShader
- Sprite:setShaderConstant
- Sprite:setSkew
- Sprite:setSkewX
- Sprite:setSkewY
- Sprite:setStencilOperation
- Sprite:setStopEventPropagation
- Sprite:setVisible
- Sprite:setX
- Sprite:setY
- Sprite:setZ
- Sprite:spriteToLocal
- Sprite:swapChildren
- Sprite:swapChildrenAt
- Sprite.ADD
- Sprite.ALPHA
- Sprite.EFFECT MODE AUTOMATIC
- Sprite.EFFECT MODE CONTINUOUS
- Sprite.EFFECT MODE TRIGGERED
- Sprite.LAYOUT ANCHOR CENTER
- Sprite.LAYOUT ANCHOR EAST
- Sprite.LAYOUT ANCHOR NORTH
- Sprite.LAYOUT ANCHOR NORTHEAST
- Sprite.LAYOUT ANCHOR NORTHWEST
- Sprite.LAYOUT ANCHOR SOUTH
- Sprite.LAYOUT ANCHOR SOUTHEAST
- Sprite.LAYOUT ANCHOR SOUTHWEST
- Sprite.LAYOUT ANCHOR WEST
- Sprite.LAYOUT FILL BOTH
- Sprite.LAYOUT FILL HORIZONTAL
- Sprite.LAYOUT FILL NONE
- Sprite.LAYOUT FILL VERTICAL
- Sprite.MULTIPLY
- Sprite.NO ALPHA
- Sprite.SCREEN
- Sprite.new
- Event.ADDED_TO_STAGE
- Event.ENTER_FRAME
- Event.KEY_CHAR
- Event.KEY_DOWN
- Event.KEY_UP
- Event.LAYOUT_RESIZED
- Event.MOUSE_DOWN
- Event.MOUSE_ENTER
- Event.MOUSE_HOVER
- Event.MOUSE_LEAVE
- Event.MOUSE_MOVE
- Event.MOUSE_UP
- Event.MOUSE_WHEEL
- Event.REMOVED_FROM_STAGE
- Event.TOUCHES_BEGIN
- Event.TOUCHES_CANCEL
- Event.TOUCHES_END
- Event.TOUCHES_MOVE