2013-03-25 76 views
3

我創建一個賽車遊戲,在這裏我過的Box2D中的Javascript一些粗糙的表面面積需要幫助的汽車。碰撞檢測沒有Box2D的impecting的Javascript

  1. 我通過以下鏈接 http://www.codekites.com/make-racing-car-box2d-javascript/
  2. 也製造了障礙創造了賽車遊戲。

問:

  1. 現在我想這樣的障礙,這不應該與車發生碰撞。但是當Car超過這個形狀時,Car變慢。

所以,請幫助我,如何與去。我發現了IsSensor,但那不起作用。所以請讓我知道,如何去與此。

回答

4

Aahhhh ......終於得到了來自計算器本身的解決方案。 它在這裏。

How to detect collision but do not collide in box2d?

我使用錯誤的關鍵字。它是

fixturedef.isSensor = true; 

完蛋了)和檢測,我們必須這樣寫

world.SetContactListener(listener); 
var listener = new Box2D.Dynamics.b2ContactListener; 
listener.BeginContact = function(contact) { 
    // console.log(contact.GetFixtureA().GetBody().GetUserData()); 
    div = document.getElementById("textUI"); 
    div.innerHTML = "Come "+contact.GetFixtureA().GetBody(); 
    defaultCarSpeed = defaultCarSpeed/2; 
} 

listener.EndContact = function(contact) { 
    // console.log(contact.GetFixtureA().GetBody().GetUserData()); 
    div = document.getElementById("textUI"); 
    div.innerHTML = "Go "+contact.GetFixtureA().GetBody(); 
    defaultCarSpeed = defaultCarSpeed*2; 
} 
聽衆碰撞