2012-12-18 17 views

Trả lời

6

Sử dụng chức năng:

void CCNode::pauseSchedulerAndActions(); 
void CCNode::resumeSchedulerAndActions(); 

Nếu bạn muốn tất cả con cái của lớp để tạm dừng, bạn cần một vòng lặp để làm việc này.

CCArray* childs = this->getChildren(); 
CCObject* child; 
CCARRAY_FOREACH(childs, child) 
{ 
    CCSprite *sprite = (CCSprite *)child; 
    child -> pauseSchedulerAndActions(); 
} 

Nếu bạn chỉ muốn một đứa trẻ đặc biệt tạm dừng, chỉ cần sử dụng hàm getChildByTag để nhận con và tạm dừng hành động của ma.

Hy vọng nó sẽ rất hữu ích :)

+0

en, cảm ơn! Nhưng có một số sprites đang chạy hành động, sử dụng 'pauseSchedulerAndActions' có thể không dừng lại những sprites' hoạt động. –

0

tạm dừng:

pauseSchedulerAndActions();

unscheduleAllSelectors();

resume:

resumeSchedulerAndActions();

scheduleUpdate();

4

Trong cocos2dx 3.2 Đối với tạm dừng hoạt động, thêm

Director::getInstance()->pause(); trong nút tạm dừng gọi lại. và Director::getInstance()->resume(); để tiếp tục.

Đối tạm dừng vật lý của một cơ thể trong Chipmunk thêm,

for (auto nod :this->getChildren()) { 

nod->getPhysicsBody()->setResting(true); 
} 

for (auto nod :this->getChildren()) { 

nod->getPhysicsBody()->setResting(false); 
} 
Các vấn đề liên quan