BOX2d繪製曲線

2022-08-29 17:00:27 字數 1154 閱讀 3807

來自天地會的

wkyjoey同學

問道如何做乙個重力大師遊戲(如下圖)。這裡要特意表示一下歉意,最近一直忙於工作,沒有及時更新教程。

對於重力大師遊戲

,試玩之後,不難發現,我們在執行時可以建立的剛體有兩種,線條剛體和多邊形剛體。今天我們來一起研究一下線條剛體的建立。多邊形剛體會在下次教程中討論。

這裡我們要繪製的線條不是直線而是曲線,所以簡單的矩形剛體無法實現這個效果。在

圓形邊界教程

中,我們同樣接觸到了曲線。解決方法是用多個線段組合起來模擬乙個圓圈。慶幸的是這個方法同樣適用於本例中的曲線。下面我們詳細討論一下。

線條是由無數個點組成的,把點放大一些就成了線段,所以乙個線條可以變成多個線段的組合。

如上圖,我們假設每個先斷掉長度為segmentlength,線段的長度越短,segmentlength越小,線條模擬就越逼真。

好吧,下面我介紹一下具體的步驟:

效果如下,點選並拖動滑鼠開始繪製,其中的紅點是線段的座標位置。另外這裡我沒有限制線段的交叉,所以在繪製時盡量避免交叉,防止意外的錯誤,後續我們再討論如何防止繪製線段時交叉。

原始碼中用到了ldeasybox2d來簡化**。完整的**及注釋如下:

package

private function onstagemousedown(e:mouseevent):void

private function onstagemousemove(e:mouseevent):void

}private function onstagemouseup(e:mouseevent):void

private function loop(e:event):void

private function createsegment(segmentsarray:array):void

}private function drawtip(segmengtsarray:array):void }}

}複製**

2012-07-08 實時繪製線條剛體2.1a.rar

box2d 碰撞過濾

原帖 碰撞篩選就是乙個防止某些形狀發生碰撞的系統。按照具體需求設定哪些物體跟那些物體發生碰撞,跟哪些物體不發生碰撞。box2d通過種群跟組索引支援碰撞篩選。組索引比較簡單,設定其shapedef的groupindex值即可,例如boxdef.filter.groupindex 1。通過groupin...

Box2D學習筆記

box2d是乙個用於遊戲的2d剛體 庫,程式設計師可以在他們的遊戲裡使用他們,也可以是的自己的物體運動的更可信。讓他看起來更加接近現實。物理引擎是乙個程式性的動畫系統。而不是由動畫師去移動物體。這一切都是建立在牛頓力學的基礎之上。box2d最初是用c 來寫的,之後有被多種語言所實現。box2d中的核...

Box2D 四 新增面板

1.繪製 用flash cs新建fla檔案,注意在繪製它們的時候要將註冊點設定在中心,然後發布成swc,這裡我提供我的 主要用到了裡面的兩個元件floorasset和iconasset,分別是地面和頭像的 2.引入 先上 package private function onstageclick e...