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:''' [[Sprite|Sprite]]<br/>
+
'''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>
<br />
+
 
 +
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.
  
<source lang="lua">
+
=== Example ===
(sprite) = sprite:clone()
+
<syntaxhighlight lang="lua">
</source>
+
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)