11
我在iphone上使用box2d來創建遊戲。我有一個受重力影響的身體向下移動,而不是向右或向左移動。它會被另一個機構擊中,然後向右或向左移動。然後我有一個重置按鈕,可以將身體移回到起點。唯一的問題是它仍然向右或向左移動。我怎樣才能抵消球已經穿過的力量?當我重置我的遊戲時,我該如何擺脫這種右移和左移?如何阻止作用在box2d上的力量
我在iphone上使用box2d來創建遊戲。我有一個受重力影響的身體向下移動,而不是向右或向左移動。它會被另一個機構擊中,然後向右或向左移動。然後我有一個重置按鈕,可以將身體移回到起點。唯一的問題是它仍然向右或向左移動。我怎樣才能抵消球已經穿過的力量?當我重置我的遊戲時,我該如何擺脫這種右移和左移?如何阻止作用在box2d上的力量
box2d自動清除強制每個模擬步驟。我認爲你只是在重置時改變身體的位置,而不是速度。此代碼添加到您的復位方法:
body->SetLinearVelocity(b2Vec2(0,0));
body->SetAngularVelocity(0);
我已經試過這種方式,但並不時互相http://stackoverflow.com/questions/39716111/cocos2dx-unable-to-工作兩個Object接近set-velocity-0-0 – TomSawyer
@TomSawyer:它們可能在重置速度後發生碰撞並導致其速度再次改變 – Andrew
我認爲重置速度會使一個物體靜止不動。不可能碰撞到另一個。無論如何,以確保一個對象已被停止? – TomSawyer