數學函式:
[c++]view plain
copy
ccp(x, y); // 以座標x,y建立乙個向量
ccpfromsize(s); // 以size s的width為x,height為y建立乙個向量
ccpoint的加減乘除運算運算
[c++]view plain
copy
ccpadd(v1, v2); // 等價 ccp(v1.x+v2.x, v1.y+v2.y);
ccpsub(v1, v2); // 等價 ccp(v1.x-v2.x, v1.y-v2.y);
ccpneg(v) // 等價 ccp(-v.x, -v.y);
ccpmult(v, s); //等價 ccp(v.x * s, v.y * s); s是個浮點數
取中點:
[c++]view plain
copy
ccpmidpoint(v1, v2); // 等價 ccp( (v1.x + v2.x)/2, (v1.y + v2.y)/2 );
點乘、叉乘、投影:
[c++]view plain
copy
ccpdot(v1, v2); // 等價 v1.x * v2.x + v1.y * v2.y;
ccpcross(v1, v2); // 等價 v1.x * v2.y - v1.y * v2.x;
ccpproject(v1, v2) // 返回的是向量v1在向量v2上的投影向量
求長度、距離和各自的平方值:
[c++]view plain
copy
ccplength(v) // 返回向量v的長度,即點v到原點的距離
ccplengthsq(v) // 返回向量v的長度的平方,即點v到原點的距離的平方
ccpdistance(v1, v2) // 返回點v1到點v2的距離
ccpdistancesq(v1, v2) // 返回點v1到點v2的距離的平方
ccpnormalize(v) // 返回v的標準化向量,就是長度為1
旋轉、逆時針90度、順時針90度:
[c++]view plain
copy
ccprotate(v1, v2); // 向量v1旋轉過向量v2的角度並且乘上向量v2的長度。當v2是乙個長度為1的標準向量時就是正常的旋轉了,可以配套地用ccpforangle
ccpperp(v); // 等價於 ccp(-v.y, v.x); (因為opengl座標系是左下角為原點,所以向量v是逆時針旋轉90度)
ccprperp(v); // 等價於 ccp(v.y, -v.x); 順時針旋轉90度
[c++]view plain
copy
ccpforangle(a); // 返回乙個角度為弧度a的標準向量
ccptoangle(v); // 返回向量v的弧度
ccpangle(a, b); // 返回a,b向量指示角度的差的弧度值
ccprotatebyangle(v, pivot, angle) // 返回向量v以pivot為旋轉軸點,按逆時針方向旋轉angle弧度
線段相交的檢測:
[c++]view plain
copy
// 得到s和t可以通過 p1 + s * (p2 - p1) 或 p3 + t * (p4 - p3) 求得交點。
ccpsegmentintersect(a, b c, d) // 返回線段a-b和線段c-d是否相交
ccpintersectpoint(a, b, c, d) // 返回線段a-b和線段c-d的交點
其他有用的:
[c++]view plain
copy
cc_radians_to_degrees(a); // 弧度轉角度
cc_degrees_to_radians(a); // 角度轉弧度
ccrandom_0_1(); // 產生0到1之間的隨機浮點數
ccrandom_minus1_1(); // 產生-1到1之間的隨機浮點數
COCOS2DX座標轉換
遊戲中經常會用到一些變換 遊戲中 和角色在乙個layer上,為了效率,會考慮將bullet,effect和 physicsparticle分別放到不用的層上,對應的層上使用batchnode來提高效率 和physicsparticlelauncher 粒子發射器 繫結,發射的時候,會向physics...
cocos2d x 座標辨析
閱讀了cocos2d的幾個方法 ccpoint converttonodespace const ccpoint worldpoint ccpoint converttoworldspace const ccpoint nodepoint ccpoint converttonodespacear c...
cocos2d x座標轉換
cocos2d x中,node類有六個座標轉換函式,分別是 converttoworldspace 把基於當前節點的本地座標系下的座標轉換到世界座標系中。converttonodespace 把世界座標轉換到當前節點的本地座標系中。例如,在飛機大戰專案中,寵物是玩家的子節點,玩家是遊戲場景的子節點,...