- Cocos2d-x Cookbook
- Akihiro Matsuura
- 428字
- 2021-07-09 20:58:48
Manipulating sprites
A Sprite is a 2D image that can be animated or transformed by changing its properties, including its rotation, position, scale, color, and so on. After creating a sprite you can obtain access to the variety of properties it has, which can be manipulated.
How to do it...
You can change the sprite's rotation to positive or negative degrees.
sprite->setRotation(30.0f);
You can get the rotation value using getRotation
method.
float rotation = sprite->getRotation();
The positive value rotates it clockwise, and the negative value rotates it counter clockwise. The default value is zero. The preceding code rotates the sprite 30 degrees clockwise, as shown in the following screenshot:

You can change the sprite's scale. The default value is 1.0f
, the original size. The following code will scale to half size.
sprite->setScale(0.5f);
You can also change the width and height separately. The following code will scale to half the width only.
sprite->setScaleX(0.5f);
The following will scale to half the height only.
sprite->setScaleY(0.5f);
The following code will scale that width to double and the height to half.
sprite->setScale(2.0f, 0.5f);

You can change the sprite's skew, either by X
, Y
or uniformly for both X
and Y
. The default value is zero for both X
and Y
.
The following code adjusts the X
skew by 20.0
:
sprite->setSkewX(20.0f);
The following code adjusts the Y
skew by 20.0
:
sprite->setSkewY(20.0f);

You can change the sprite's color by passing in a Color3B
object. Color3B
has an RGB value.
sprite->setColor(Color3b(255, 0, 0));

You can change the sprite's opacity. The opacity property is set between a value from 0 to 255.
sprite->setOpacity(100);
The sprite is fully opaque when it is set to 255, and fully transparent when it is set to zero. The default value is always 255.

You can change the sprite's visibility by passing in a Boolean value. If it is false
, then the sprite is invisible; if it is true
, then the sprite is visible. The default value is always true
.
sprite->setVisible(false);
How it works...
A Sprite has a lot of properties. You can manipulate a sprite using the setter
and getter
methods.
RGB color is a 3 byte value from zero to 255. Cocos2d-x provides predefined colors.
Color3B::WHITE Color3B::YELLOW Color3B::BLUE Color3B::GREEN Color3B::RED Color3B::MAGENTA Color3B::BLACK Color3B::ORANGE Color3B::GRAY
You can find them by looking at the ccType.h
file in Cocos2d-x.
- Developing Mobile Web ArcGIS Applications
- Mastering Entity Framework
- 數據結構習題精解(C語言實現+微課視頻)
- Java EE 7 Performance Tuning and Optimization
- ASP.NET程序設計教程
- Learning ArcGIS for Desktop
- 學習OpenCV 4:基于Python的算法實戰
- 一本書講透Java線程:原理與實踐
- Mastering Akka
- 機器學習微積分一本通(Python版)
- Java圖像處理:基于OpenCV與JVM
- OpenCV Android開發實戰
- 一步一步學Spring Boot:微服務項目實戰(第2版)
- Getting Started with the Lazarus IDE
- Unity虛擬現實開發圣典