Game Studio
Liên kế mạng xã hội

Game Studio


Hiển Thị Điểm Số Lên Màn Hình Trong Cocos2d-x 3.x

Giới thiệu

Tính điểm và hiển thị lên màn hình là một công việc không thể thiếu trong hầu hết các game hiện nay. Trong bài viết này tôi sẽ hướng dẫn các bạn làm điều này với vài thủ thuật đơn giản.

Tiền đề bài viết

Trong quá trình học tập và làm việc, tôi luôn muốn chia sẻ đến các bạn những kiến thức mà tôi tích lũy được dù là nhỏ nhất. Bài viết này là một trong số đó.

Đối tượng hướng đến

Dành cho các đối tượng đang trong quá trình học tập và bắt đầu tìm hiểu về cocos2d-x.

Ý tưởng

Để có thể tính điểm trong game thì cách thiết thực nhất chính là dùng một biến kiểu “số” để lưu trữ cũng như tăng giảm điểm (ở đây tôi dùng kiểu unsigned int để ví dụ cho bài viết này). Vậy làm cách nào để hiển thị điểm số mà bạn đang chơi lên màn hình. Để hiện thực được điều này, cocos2d-x cho phép chuyển kiểu dữ liệu từ “số” sang “chuỗi”. Và từ đó có thể render chuỗi này lên màn hình.

Hiện thực

Ảnh minh họa:

Dùng hàm createWithFormat của CCString để khởi tạo một biến tạm thời kiểu CCString* từ số điểm của bạn. 

Ví dụ

  1. CCString *tempScore = CCString::createWithFormat("%i", score);

Khởi tạo UI Label với giá trị là kiểu CCString* vừa có. Để hiểu hơn về UI Label bạn vui lòng đọc bài viết UI Phần 1: Khái Niệm Và Một Số Đối Tượng Để Thiết Kế UI Trong Cocos2d-x 3.x.x 

Ví dụ

  1. scoreLabel = Label::createWithTTF(tempScore->getCString(), "fonts/Marker Felt.ttf", 
  2.         visibleSize.height*SCORE_FONT_SIZE);
  3. scoreLabel->setColor(Color3B::RED);
  4. scoreLabel->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2));
  5. this->addChild(scoreLabel, 10000);

Khi thay đổi điểm số trong game, chỉ cần khởi tạo một biến tạm thời kiểu CCString* như ở trên và set lại string cho Label

Ví dụ

  1. score++;
  2. CCString *tempScore = CCString::createWithFormat("%i", score);
  3. scoreLabel->setString(tempScore->getCString());

Tổng kết

Trên đây là một kinh nghiệm nho nhỏ tôi muốn chia sẻ đến các bạn. Hi vọng sẽ giúp được những ai đang trong quá trình học tập và tìm hiểu.

Theo: Stdio

 


Đăng sự kiện cho developer