0
我正在用GameObjects構建遊戲。在我的遊戲中,我將GameObjects從CollidableObject中分離出來。所有對象(GameObjects和CollidableGameObjects)都被推送到一個名爲gameObjects的單個數組中。將數組和陣列過濾爲不同類型的陣列
當涉及到碰撞檢測我想過濾gameObjects數組,所以我只能循環CollidableObject類型的對象。我創建了這個下面的代碼:
let temp : any = this.gameObjects.filter(g => g instanceof CollidableObject);
//optional
let collidables : Array<CollidableObject> = temp;
for (let obj1 of collidables) {
for (let obj2 of collidables){
if (obj1 != obj2) {
if(obj1.hasCollision(obj2)) {
obj1.onCollision(obj2);
this.gameOver();
}
}
}
}
問題1:爲什麼不能直接過濾到CollidableObject的陣列?
問題2:有沒有一種更簡單的方法來過濾某種類型的數組?
對於你的第一個問題[這個問題](https://github.com/Microsoft/TypeScript/issues/7657)可能是相關的。 – Saravana