cocos2d x實現node圓弧運動

2021-09-30 09:21:54 字數 847 閱讀 2296

最近在用cocos2d-x

做魚在水池裡游動,直線游動比較容易實現,但是要使魚轉彎,繞著圓弧游動就有點難度了,不僅魚的位置是圓的軌跡點,它的方向也要跟著相應變化,並且要準確控制它是順時針轉還是逆時針。搞了大半天,不斷試驗不斷修改,終於把它封裝成乙個

ccarcby

的action, 

以後可以直接拿來用了。 

ccarcby

的初始化方法是

bool initwithduration(cctime duration, float radius, float angle, bool clockwise);

只要給定轉彎的半徑,角度,時針方向和時間,就可以讓node

繞著圓弧進行運動,並且相應改變它的方向。具體原理是執行該

action

時候,會根據當前

node

的position

和rotation

建立直線方程

lq,建立垂直於直線

lq並且相交於

position

的直線方程

lq2, 

根據時針方向建立與直線

lq平行並且距離為

radius

的直線方程

lq3, 

計算lq2和q3

的交點就是圓弧的圓心位置了。

在圓弧運動每次update

過程中,呼叫框架自帶的

ccprotatebyangle

方法就能得到當前

node

的位置了,而

node

的方向要減去轉彎的角度,這樣魚就能正常轉彎游動了,還能不時拜擺擺尾巴!

cocos2d x實現打字特效

原文請猛戳 這次分享乙個在cocos2d x中實現打字特效的小功能。首先,cocos2d x中label預設是utf8編碼,quickx提供了乙個string.utf8len介面,這裡再加乙個擷取子字串的函式 function utf8str str,start,num local function...

cocos2d x 實現中文輸出

下面我們來說說如何實現中文輸出吧!首先,個人覺得可以新建乙個tools.cpp 和 tools.h 檔案 首先在tools.h ifndef tools h 預定義塊 define tools h include cocos2d.h if cc target platform cc platform...

cocos2d x實現中文顯示 筆記

cocos2d x在win32開發中,不能直接顯示中文,需要轉字元。cocos2d x已經自帶了乙個對應的庫iconv。如果要使用它,我們要在做以下配置 1.右鍵專案 屬性 附加包含目錄 編輯。然後新增乙個路徑,我的如下 d cocos2d x cocos2d 2.0 x 2.0.4 cocos2d...