2016-03-22 44 views
0

Javascript ve üç.js'de yeni programcıyım. Bir hata TypeError çalışmaz getObjectById var: scene.getObjectById bir işlevgetObjectById çalışmıyor TypeError: scene.getObjectById bir işlev değil

değildir I Yer tre [m] içinde bir dizi kayıtlı olan kimliği tarafından Three.js sahne içinde bir nesne erişmeye [1] . Bu benim fonksiyondur

da sorun öylesine bir kimse bir fikri vardır, sadece id

function crvtre(){

// alert("I enter crvtre"); 
     for(var m=0; m<max; m++){ 
      for(var n=m+1; n<max; n++){ 
      // we should add in (tre[m][0] != tre[n][0]) to draw between trees only and inside one tree 
       if(tre[m][5]==0 && tre[n][5]==0 && (tre[m][0] != tre[n][0])){ 

        var object = scene.getObjectById(tre[m][1],true); 
        console.log(object.userData[1]) 
       } 
      } 
     } 
     //animate(); 
} 

çok önemsiz bir sorun gibi görünüyor ama ben nedenini bilmek hasta var tarafından adıyla çağrı görünür.

cevap

0

Sen getObjectById

Bir sahnede bir nesne erişmek istiyorsanız THREE.Scene bir yöntem değildir ve nesne nerede biliyorum çünkü, sadece bunu ulaşımını olduğunu olsun:

var object = tre[m][1]; 
+0

Teşekkür ederim, getObjectById kaynak koduna ve onun çalışma işlevine bağlı olarak aşağıdaki işlevi yapıyorum: getbyid (id, özyinelemeli) işlevi { \t \t \t (var i = 0, l = scene.children.length; ben i ++) { \t \t \t var child = scene.children [i]; console.log ("Sahnenin çocuğuyum" + child.id); \t \t \t if (child.id === id) { \t \t \t \t dönüş çocuk; \t \t} \t \t} ' – safaa1978

İlgili konular