cocos2d-x3.x的拖尾效果
阿新 • • 發佈:2019-02-05
作為一個實習,也就是傳說中的碼農,自身的程式碼基礎也不夠,所以暫時就不扒開底層對每個引數一一研究了,不過其實知道了api,完全可以通過自己檢視一步步理解,每個函式底層程式碼裡邊都有註釋。
MotionStreak類繼承自node,所以,基本上可以當做node來使用;基本上也比較簡單,直接複製自己專案的程式碼了先
建立一個拖尾的節點,執行moveto,在move過程產生拖尾效果,最後到目的點時呼叫回撥消除這個節點:
auto streak=MotionStreak::create(10, 5, 20, Color3B(0,0,0), "bossdian.png"); streak->setPosition(Point(800,900)); auto moveto =MoveTo::create(0.3,Point(0,0)); auto fun=[this](Node*psender) { auto streak=static_cast<MotionStreak*>(psender); streak->removeFromParent(); }; auto call=CallFuncN::create(fun); streak->runAction(Sequence::create(moveto,call,NULL)); addChild(streak,200);
值得一提的時拖尾節點建立時的幾個引數:
/** creates and initializes a motion streak with fade in seconds, minimum segments, stroke's width, color, texture filename */
staticMotionStreak* create(float fade,float minSeg,float stroke,constColor3B& color,conststd::string& path);
通過註釋也不難理解:fade是這個拖尾效果消失的時間,也就是當節點走過某一個點時建立的這個尾巴在fade後消失;minseg表示拖尾和該節點的最小距離;stroke表示每條拖尾帶的粗細;後面兩個分別是rgb顏色和檔名。
基本的拖尾效果可以通過這些實現,但是一個可以拿來當做完整的技能拖尾,還是需要很多改變。