Thẻ

, ,

Sprite là thành phần chính mà chúng ta sẽ tương tác với nó trong game!
(Nó tương đương với GameObject trong Unity và Entity trong AndEngine!)
Note: Gốc tọa độ trong Cocos2d-x được tính là góc trái dưới của màn hình!

Creating a Sprite

	//Hiển thị sprite
	auto mySprite = Sprite::create("mysprite.png");
	mySprite->setPosition(screenSize.width / 2, screenSize.height / 2);
	this->addChild(mySprite);

Trên đây là 3 câu lệnh cơ bản mà bất cứ sprite nào cũng sử dụng!
Câu lệnh 1: Khởi tạo 1 sprite từ ảnh mysprite.png để trong folder Resources.
Câu lệnh 2: Gán vị trí cho sprite.
Câu lệnh 3: Gán sprite này vào layer hiện tại!

Sprite có 3 contructors, nếu muốn sprite chỉ sử dụng 1 phần của bức ảnh thì ta sử dụng hàm tạo chứa 2 tham số, với tham số thứ 2 thể hiện vị trí muốn lấy của bức ảnh!

auto mySprite = Sprite::create("mysprite.png", Rect(0,0,50,50));

Creating a Sprite from a SpriteSheet

Một cái ta thường hay gặp hơn đó là tạo sprite từ một cái spritesheet.
(Sử dụng spritesheet giúp cho game có được một cái performance tốt hơn!)
Để sử dụng cách này ta cần nhét spritesheet vào cache (lưu vào bộ nhớ tạm thời để có thể truy xuất nhanh hơn) bằng SpriteFrameCache.
Cách này chúng ta sẽ nói đến trong phần sau!…

Sprite Manipulation – Thao tác với Sprite

Anchor
Tâm mặc định của sprite là ở chính giữa.
[0,0] là ở góc dưới trái.
[1,1] là ở góc trên phải.

sprite_2->setAnchorPoint(Vec2(0, 0));

Rotation
Góc quay được tính theo độ (degree)

sprite_2->setRotation(45);

Scale

sprite_2->setScale(0.5);

Skew – Làm nghiêng

mySprite->setSkewX(20.0f);

Color
Sự dụng hệ mày RGB với class Color3B

mySprite->setColor(Color3B::WHITE);
sprite_2->setColor(Color3B(25,50,100));

Opacity
Từ 0-255:

mySprite->setOpacity(30);

Tra cứu: http://www.cocos2d-x.org/reference/native-cpp/V3.4/d3/d5c/classcocos2d_1_1_sprite.html

Advertisements