Thẻ

, , , ,

Khái niệm Action trong Cocos tương ứng với khái niệm Modifier trong AndEngine!
Action đúng như tên gọi của nó, nó dùng để tạo các “hành động” cho Note/Sprite tương ứng.
Giả sử như action “Move” dùng để di chuyển node/sprite đó sang một vị trí khác với một thời gian cho trước.

Sự khác biệt giữa By và To

Với action Move ta có 2 phương thức, đó là MoveBy và MoveTo!
Action_By : Thể hiện sự biến đổi tương đối với trạng thái hiện tại!
VD:

auto moveBy = MoveBy::create(2, Vec2(100, 100));

Với câu lệnh trên, node sẽ được dịch chuyển so với vị trí hiện tại của nó, tức là tọa độ của nó được CỘNG thêm (100,100).

Action_To : Dù hiện tại node đang ở trạng thái nào thì nó cũng sẽ chuyển thành trạng thái đích!
VD:

auto moveTo = MoveTo::create(2, Vec2(100, 100));

Với câu lệnh này, dù node đó đang đứng ở đâu thì nó cũng sẽ quay về vị trí có tọa độ là (100,100).

Tương tự với các thuộc tính của Node sẽ có tương ứng các Action tương ứng:
– MoveTo, MoveBy
– ScaleTo, ScaleBy
– RoateTo, RotateBy

Một số Actions khác

Fade In/Out

Tham khảo: http://www.cocos2d-x.org/wiki/Actions

 

Một số cái chú ý:

– Gọi method trong aciton
CallFunc *runCallback = CallFunc::create(CC_CALLBACK_0(Ninja::resetJumpCount, this));
this->runAction(Sequence::create(jumpAction, runCallback, nullptr));
– Gọi delay trong aciton
this->runAction(Sequence::create(DelayTime::create(1), runCallback, nullptr));

scheduler

http://www.cocos2d-x.org/reference/native-cpp/V3.4/d7/d32/classcocos2d_1_1_finite_time_action.html

Advertisements