There are different ways to create Sprites depending upon what you need to
accomplish. You can create a
Sprite from an image with various graphic formats
including: PNG, JPEG, TIFF, and others. Let's go through some create methods and
talk about each one.
Creating a Sprite
Sprite can be created by specifying an image file to use.
auto mySprite = Sprite::create("mysprite.png");
The statement above creates a
Sprite using the mysprite.png image. The result
is that the created
Sprite uses the whole image.
Sprite has the same dimensions
of mysprite.png. If the image file is 200 x 200 the resulting
Sprite is 200 x 200.
Creating a Sprite with a Rect
In the previous example, the created
Sprite has the same size as the original
image file. If you want to create a
Sprite with only a certain portion of the
image file, you can do it by specifying a
Rect has 4 values: origin x, origin y, width and height.
auto mySprite = Sprite::create("mysprite.png", Rect(0,0,40,40));
Rect starts at the top left corner. This is the opposite of what you might be
used to when laying out screen position as it starts from the lower left corner.
Thus the resulting
Sprite is only a portion of the image file. In this case the
Sprite dimension is 40 x 40 starting at the top left corner.
If you don't specify a
Rect, Cocos2d-x will automatically use the full width
and height of the image file you specify. Take a look at the example below. If
we use an image with dimensions 200 x 200 the following 2 statements would have
the same result.
auto mySprite = Sprite::create("mysprite.png"); auto mySprite = Sprite::create("mysprite.png", Rect(0,0,200,200));