Mình đang tìm hiểu cocos2d-x để làm game trên dt. Mình sử dụng Cocostudio để tạo ra các animation trong game nhưng khi add vào project thì gặp 1 vấn đề trong việc tạo PhysicsBody cho animation này. Mọi người ai đã từng làm 1 animation có khung vật lý giúp mình nha
Cách add khung vật lý cho đối tượng được tạo ra từ Cocostudio
Cái này có nghĩa là gì bạn ???
Tức là 1 Sprite bình thường thì mình tạo được 1 cái khung ô vuông hay hình tròn gì đó bao quanh nó để xét va chạm vật lý ấy.Nhưng đối với animation dạng file .csb thì mình ko tạo được khung đó
mình chưa thử cái này bao giờ.
Mình k biết dạng file .csb bạn nạp vào object trong cocos thế nào, chứ ngày trước mình cũng làm CocosStudio, xuất ra file json và hình png, sau đó dùng lệnh sau để nạp :
//Load Animation
extension::CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Game/Game1/Aminations/Dog/Dog0.png","Game/Game1/Aminations/Dog/Dog0.plist","Game/Game1/Aminations/Dog/Dog.ExportJson");
//Tạo 1 đối tượng aniamtion
Dog=extension::CCArmature::create("Dog");
//Tạo khung cho 1 CCsprite, mình ngĩ thay đối tượng CCsprite = đối tượng animation cũng dc, vì mình xóa hết cấu hình rồi nên k test dc, bạn thử xem
CCRect projectileRect = CCRectMake(
projectile->getPosition().x - (projectile->getContentSize().width/2),
projectile->getPosition().y - (projectile->getContentSize().height/2),
projectile->getContentSize().width,
projectile->getContentSize().height);
CCRect projectileRect2 = CCRectMake(
player->getPosition().x - (player->getContentSize().width/2),
player->getPosition().y - (player->getContentSize().height/2),
player->getContentSize().width,
player->getContentSize().height);
//kiểm tra va chạm (tức là 2 hình giao nhau)
if(projectileRect.intersectsRect(projectileRect2))
{
//Do something
}
Code này mình viết cũng gần 1 năm, k biết cocos2d-x giờ có khác gì k, hy vọng giúp được bạn !
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?