1 回答

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
很抱歉沒有早點(diǎn)更新這個(gè)線程,雖然我還沒有發(fā)現(xiàn)這個(gè)錯(cuò)誤,但我意識(shí)到這對(duì)于我的特定模擬來說不是最好的方法,而是創(chuàng)建了一個(gè)更好的系統(tǒng),而無需檢查這些未定義的變量。相反,我創(chuàng)建了一個(gè)名為 Layer 的碰撞過濾器,并將每個(gè)代理分配到不同的層,可以與 上的所有內(nèi)容發(fā)生碰撞的事物layer: 0,與 上的任何事物都不會(huì)發(fā)生碰撞的事物layer: -1,并使用以下代碼來實(shí)現(xiàn)此目的。我將這個(gè)collisionFilter.layer屬性賦予了模擬中的每個(gè)對(duì)象。
Detector.canCollide = function (filterA, filterB) {
if (filterA.layer != -1 && filterB.layer != -1){
return (filterA.layer == filterB.layer || (filterA.layer == 0 || filterB.layer==0));
} else {
return false;
}
}
添加回答
舉報(bào)