2011-06-10 174 views
1

我正在iOS上開發一款遊戲作爲遊戲引擎,並且試圖添加一個CCRibbon(其中的點可以用觸摸填充),我知道如何,並讓CCRibbon的形狀與box2d相連,所以當一個物體與它碰撞時(由於重力),它會反彈,就好像它是正常的東西。會有人碰巧知道如何做到這一點/給我的選擇? 非常感謝, 亞歷山大CASSAGNECocos2d/Box2d CCRibbon碰撞檢測

回答

1

每次取點,並使用積分+調整,使其形狀的薄靜態矩形Box2D的多邊形。

for (int i = 0; i < ccribbon.points.length - 1; i++) 
{ 
    int j = i; 
    j++; 
    int width = 2; 

    Array ar = []; 
    ar[0] = new b2Vec2(ccribbon.points[i].x, ccribbon.points[i].y); 
    ar[1] = new b2Vec2(ccribbon.points[i].x + width, ccribbon.points[i].y + width); 
    ar[2] = new b2Vec2(ccribbon.points[j].x, ccribbon.points[j].y); 
    ar[3] = new b2Vec2(ccribbon.points[j].x + width, ccribbon.points[j].y + width); 

    //create new static object 
    b2Polygon b2p = new b2Polygon(); 
    b2p.setAsArray(ar); 

    //do rest to add it to world etc. 

} 
當然

不要複製的代碼正是它只是從我記得,我也確信它的C#組合和ActionScript 3的kindof一個有很多空白,你的不那麼僞代碼」你需要填寫。爲什麼評論在那裏:P。

這基本上是我怎麼做,但。雖然我的經驗只是在box2d。

+0

謝謝我會試試然後接受你的答案。我會嘗試「移植」它,因爲它是ObjectiveC的;) – 2011-06-15 13:42:48

1
+0

我有......並且確實用於創建預定義的簡單精靈(一個盒子,一個球......等等),確定形狀(正方形,圓形等等)非常簡單。但是,無法訪問CCRibbon的形狀。沒有積分,我無法創造形狀。沒有形狀,我不能創建夾具。 謝謝反正, 亞歷山大卡薩涅 – 2011-06-11 21:45:11

+0

然後看看這個... http://www.physicseditor.de/ – Anish 2011-06-12 05:35:35

+0

這是非常好的,但問題是它不是動態的。無論如何,動態獲取任何cocos2d形狀並將其轉換爲box2d形狀? – 2011-06-12 09:43:27