Cocos2D-X Là Gì ? Phát Triển Game Trên Đa Nền Tảng Cocos2Dx Giới Thiệu Tổng Quan Về Cocos Creator

Scene là gì?

Scene là một cảnh game chứa đựng những Sprites, Lables, Nodes và tất cả các đối tượng khác mà trò chơi cần. Có trách nhiệm điều hành logic của trò chơi, Render lên Screen (màn hình hiển thị) các nội dụng cần thiết cho từng Scene đã thiết kế. Cần ít nhất một Scene để bắt đầu trò chơi. Một game có thể có rất nhiều Scene nhưng trong một thời điểm nhất định chỉ có một Scene được hoạt động.

Đang xem: Cocos2d-x là gì

Khởi tạo Scene

// www.sentory.vn// Khởi tạo Screne có tên là gameScene.Auto gameScene= Scene::create();

Ví dụ về Scene

Cocos2d-x sử dụng hệ tọa độ Oxy với gốc tọa độ O(0,0) nằm tại góc bên trái phía dưới Screen. Vì vậy, khi thiết kế các thành phần của Scene nên chú ý tới điều này để sao cho thiết lập vị trí của các các thành phần trong game phù hợp.

*

Để thêm một Sprite, Label hay một đối tượng vào Scene thì sử dụng phương thức addChild() API.

// www.sentory.vn// www.sentory.vn/users/index/11/truong-dat// Khởi tạo một Scene có tên là gameScene.auto gameScene = Scene::create();// Lấy kích thước của màn hình.// Với mỗi Platform thì sẽ có kích thước màn hình khác nhau, khi trò chơi được build // qua nhiều nền tảng không thể áp dụng kích thước “cứng” của một số thiết bị nào đó. // Việc lấy kích thước màn hình sẽ giúp có thể thiết lập vị trí với các platform khác.Size visibleSize = Director::getInstance()->getVisibleSize();// Khởi tạo Sprite.// Sprite boar.auto board = Sprite::create(“spr_board.png”);board->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2));board->setScale(0.5);gameScene->addChild(board, 1);// Sprite title zeroauto titleZero = Sprite::create(“spr_title_zero.png”);titleZero->setPosition(Point(board->getPositionX(), board->getPositionY() + board->getContentSize().height/8));titleZero->setScale(0.5);gameScene->addChild(titleZero , 1);// Menu.// Menu item play button.auto playButton = MenuItem::create(“spr_btn_play.png”, “spr_btn_play_press.png”, CC_CALLBACK_1(MenuGame::playGameCallback, this)));playButton->setPosition(Point(board->getPositionX(), board->getPositionY() – board->getContentSize().height / 8));playButton->setScale(0.5);// Menu item training.auto trainingButton = MenuItem::create(“spr_btn_training.png”, “spr_btn_training_press.png “, CC_CALLBACK_1(MenuGame::trainingGameCallback, this)));trainingButton->setPosition(Point(board->getPositionX() + board->getContentSize().width / 8, board->getPositionY() + board->getContentSize().height / 4));trainingButton->setScale(0.5); // Menu item about.auto aboutButton = MenuItem::create(“spr_btn_about.png”, “spr_btn_about_press.png “, CC_CALLBACK_1(MenuGame::aboutGameCallback, this)));aboutButton->setPosition(Point(board->getPositionX() + board->getContentSize().width / 8 + trainingButton->getContentSize().width/2, board->getPositionY() + board->getContentSize().height / 4));aboutButton->setScale(0.5);// Khởi tạo Menu.auto menu = Menu::create(playButton, trainingButton, aboutButton, NULL);// Thêm menu vào Scene hiện tại.gameMenu->addChild(menu, 1);Ở đoạn code trên hiện thực lại Scene Menu Game của game Zero.

Xem thêm: Lựa Chọn Yên Xe Tracker Ý Tưởng, Yên Xe Độ Tracker Cafe Racer Drat Giá Rẻ

*

Scene Graph

Là một cấu trúc dữ liệu để sắp xếp những đối tượng cần có trên Scene. Đây là một điều quan trọng vì cần phải chắc chắn rằng kết quả nhận được thỏa mãn với mục đích khi thiết kế game.

*

Dưới đây là Scene Graph của mục Ví dụ về Scene.

Xem thêm: Bloating Là Gì, Nghĩa Của Từ Bloat, Bloating Là Gì

*

Một số cách chuyển đổi giữa các Scene

runWithScene 

Được sử dụng cho Scene đầu tiên trong game.

Related Articles

Trả lời

Back to top button