box2d物理引擎 BOX2D不能在碰撞檢測的類里面銷毀剛體的fixture嗎?
BOX2D不能在碰撞檢測的類里面銷毀剛體的fixture嗎?你好,我來回答你:雖然這是一個很老的問題,但有些人仍然很困擾。是的,在碰撞過程中刪除剛體是不可能的。原因是在碰撞的初始階段,box2d將存儲
BOX2D不能在碰撞檢測的類里面銷毀剛體的fixture嗎?
你好,我來回答你:雖然這是一個很老的問題,但有些人仍然很困擾。是的,在碰撞過程中刪除剛體是不可能的。原因是在碰撞的初始階段,box2d將存儲彼此接觸的AABB對象,并將它們放入數(shù)組或列表中。如果在這個時候刪除它們,是非常危險的,而且在這個時候直接崩潰是不可避免的,最好使用切換模式。首先,將過濾器更改為0,否則無法碰撞,然后使用過濾器0統(tǒng)一處理所有對象并將其移除。如果我的回答對你沒有幫助,請繼續(xù)問。
cocos2d和box2d2者有什么區(qū)別?
Cocos2d和box2d是完全不同的東西。Cocos2d是一個開源的框架,可以構建2D環(huán)境。有ccscene,cclayer,ccsprite等概念。它可以用來建立一個良好的二維環(huán)境。Box2d是一個物理引擎,它模擬真實的物理環(huán)境。它有重力、加速度、摩擦力和剛體能量的概念。在這種環(huán)境下,只要定義了相應的剛體和重力、摩擦力等外部環(huán)境,它們就可以自行處理碰撞。因為box2d只是一個物理引擎,所以可以在很多地方使用,比如flash、IOS開發(fā)、窗口開發(fā)等等。Cocos2d是用Objective-C編寫的,現(xiàn)在只能在Apple開發(fā)中使用。如果要在其他環(huán)境中使用cocos2d,則需要使用cocos2d-x。由于box2d只是一個物理引擎,因此不可能構建場景。因此,在IOS開發(fā)中,如果要創(chuàng)建box2d項目,還必須構建場景。因此,該項目還向您添加了cocos2d庫。
Box2D怎么用?
Box2d不是一個開發(fā)環(huán)境,而是一個物理引擎。您需要在特定的開發(fā)環(huán)境中引入這些類庫,然后可以使用這些類庫來實現(xiàn)重力和摩擦力的效果。Box2d是跨平臺的。我知道box2d用于windows的VC、flash和cocos2d-x。我主要在MAC的cocos2d中使用box2d。
希望對您有所幫助。