- 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.
- Mastering Visual Studio 2017
- Learning ArcGIS Pro 2
- 三維圖形化C++趣味編程
- Python高級機器學習
- 鋒利的SQL(第2版)
- Gradle for Android
- Getting Started with Laravel 4
- Apache Kafka Quick Start Guide
- IBM Cognos Business Intelligence 10.1 Dashboarding cookbook
- Visual Basic程序設計(第三版)
- Flink技術內幕:架構設計與實現原理
- Visual C++程序設計與項目實踐
- Monitoring Docker
- Clojure Web Development Essentials
- 人件集:人性化的軟件開發