COCOS2D-X LÀ GÌ

  -  
Giới thiệu tổng quan liêu về quan niệm cơ phiên bản, một vài biện pháp dùng làm khởi sinh sản một sprite, những trực thuộc tính của sprite và cũng giống như những thao tác làm việc cơ phiên bản với các nằm trong tính của sprite vào games với cocos2d-x
*

*

Sprite là yếu tắc không thể thiếu vào game, là đối tượng bối cảnh được vẽ lên Screen (màn hình), có thể thao tác làm việc lên chúng với tạo nên bọn chúng dịch chuyển.

Bạn đang xem: Cocos2d-x là gì

Sprite bao gồm:

Đối tượng hình ảnh đã dịch chuyển (Sprite)Đối tượng hình ảnh vẫn đứng im (Node).

1 Sprite vào game 2 chiều có không ít thuộc tính như:

Anchor Point (Điểm neo)Postion (Vị trí của Sprite bên trên Screen)màu sắc (Màu sắc)Scale (Độ phóng đại)Skew (Độ nghiêng)Opađô thị (Độ trong),…

Khởi sinh sản Sprite vào Cocos2d-x

Trong Cocos2d-x, có khá nhiều cách để tạo nên 1 Sprite. Có thể tạo ra 1 Sprite tự những hình hình ảnh với các định hình bối cảnh không giống nhau như: png, jpg, …

// Khởi tạo nên 1 Sprite là spriteSinstự động hóa spriteSins = Sprite::create("sins.png");

*
Đoạn code trên sẽ tạo ra 1 Sprite, nó sử dụng hình hình ảnh gốc sins.png. Kết quả là sẽ tạo ra 1 Sprite có size bởi size hình ảnh nơi bắt đầu. Nếu sử dụng hình hình họa gốc bao gồm kích cỡ là 200x200 thì kích cỡ của Sprite là 200x200.

Chụ ý: Trong Cocos2d-x, hình hình họa hay được đựng vào thỏng mục Resources. Nếu hình hình họa nơi bắt đầu chứa sinh hoạt phần nhiều thỏng mục khác rất cần phải trình bày đúng đường truyền cho tới tlỗi mục cất hình hình ảnh gốc kia.

Khởi sinh sản 1 Sprite với cùng một Rect

Vấn đề đề ra là: Nếu chỉ ý muốn tạo thành 1 Sprite tất cả kích thước 1 phần nào kia của hình hình họa cội thì sao? Có thể làm cho được điều đó bằng cách xác minh 1 Rect (Khung hình chữ nhật).

Rect gồm 4 giá chỉ trị:

xywidthheight

Rect được bắt đầu tính điểm đầu ở góc cạnh phía trên phía trái cùng với tọa độ (x, y) của hình ảnh nơi bắt đầu và từ điểm bước đầu này Sprite đang lấy phạm vi và độ nhiều năm tương ứng cùng với width, height.

Xem thêm: Tesoro Excalibur Spectrum G7Sfl Brown, Tesoro Excalibur Spectrum Ts

// Khởi sinh sản 1 Sprite là spriteSins với Rect có giá trị x=0, y=0, width=0, height=0auto spriteSins = Sprite::create("sins.png", Rect(0,0,100,100));Đoạn code trên Sprite được tạo ra vì chưng 1 Rect(0, 0, 100, 100).

Giá trị 0, 0,100,100 tương ứng với x, y, widh, height.

Lúc bấy giờ Lúc vẽ lên screen sẽ được Sprite bao gồm hình hình họa bởi nửa cùng với size hình hình họa nơi bắt đầu.

*

Với 1 hình hình họa bao gồm form size 200x200, 2 đoạn code tiếp sau đây gồm cùng 1 hiệu quả.

Xem thêm: Cung Tên Hiện Đại - 38 Cung Tên Ý Tưởng

auto spriteSins = Sprite::create("sins.png");tự động hóa spriteSins = Sprite::create("sins.png", Rect(0,0,200,200));

Khởi tạo thành 1 Sprite trong Sprite Sheet

Thuộc tính với làm việc với một Sprite

Anchor Point

Là cội tọa độ tuyệt điểm neo của Sprite. Anchor Point bao gồm quan hệ giới tính mật thiết cho tới những tính năng của Sprite nlỗi Position, Scale, Rotation, Skew cùng không tác động ảnh hưởng tới những nằm trong tính Color cùng Opacity. 

Anchor Point được xác minh do 1 giá trị (x, y) khớp ứng cùng với nơi bắt đầu tọa độ phía bên dưới phía trái. Giá trị khoác định của toàn bộ những Sprite là (0.5, 0.5).

*
Giải thíchA: Anchor point của spriteSins cùng với tọa độ là (0.0f, 1.0f)B: Anchor point của spriteSins cùng với tọa độ là (1.0f, 1.0f)C: Anchor point của spriteSins với tọa độ là (1.0f, 0.0f)D: Anchor point của spriteSins với tọa độ là (0.0f, 0.0f)E: Anchor point khoác định của tất cả Sprite với tọa độ là (0.5f, 0.5f)

Sự tác động của Anchor Point tới các thuộc tính của Sprite như thế nào thì sẽ tra cứu hiểu rõ rộng trong số những phần sau. Để đặt lại quý giá Anchor Point trong Cocos2dx, thực hiện cách tiến hành setAnchorPoint()

// Giá trị khoác định của toàn bộ SpritespriteSins->setAnchorPoint(Point(0.5f, 0.5f));// Anchor Point của Sprite nằm ở vị trí góc bên dưới bên tráispriteSins->setAnchorPoint(Point(0.0f, 0.0f)); // Point::ZERO// Anchor Point của Sprite nằm tại vị trí góc bên trên mặt tráispriteSins->setAnchorPoint(Point(0.0f, 1.0f));// Anchor Point của Sprite nằm ở vị trí góc bên dưới bên phảispriteSins->setAnchorPoint(Point(1.0f, 0.0f));// Anchor Point của Sprite nằm ở vị trí góc bên trên bên phảispriteSins->setAnchorPoint(Point(1.0f, 1.0f));

Position