2011-10-29 6 views
-1
var kursor:Kursor = new Kursor(); 
var kulki:Array = new Array(); 

var i:int = 0; 
for(;i<40;i++){ 
    var kula:Kula = new Kula(); 
    kulki.push(kula); 
} 

function sprawdzKolizje(event:Event){ 

if(kursor.hitTestObject(linia)){ 
    trace("wykrylem"); 
    } 
}` 

충돌 감지 정상적인 MC : linia가있는 kursor가 감지되었습니다. Linia가있는 Array에서 MC를 감지하지 못했습니다.충돌 감지 액션 스크립트 3

kursor.hitTestObject(linia) - OK 
kulki.hitTestObject(linia) - BAD 
kula.hitTestObject(linia) - BAD 
kulki[0].hitTestObject(linia) - BAD 

도와주세요. hitTestObjectDisplayObject하지 Array하는 방법이기 때문에

답변

1
  1. kulki.hitTestObject(linia)이 작동하지 않습니다.

  2. 모든 개체가 표시 목록에 추가되었는지 확인하십시오. 그 kursor & linia을 나타냅니다

0
kursor.hitTestObject(linia) - OK 

가 제대로 인스턴스를 표시 목록에 추가되었습니다. 그로부터 "kula"객체가 문제의 원인 일 수 있음을 공제 할 수 있습니다.

for(var i:int; i<40 ; i++) 
    { 
     var kula:Kula = new Kula(); 
     kulki.push(kula); 
    } 

마지막으로, 개체를 확인하는 것은 당신에게 무엇이 잘못되었는지의 표시를 제공 할 수 있습니다 ... 더 잘 작동 할 수있다.

trace(kula); 
    kula.hitTestObject(linia); 

    trace(kulki); 
    trace(kulki[0]); 
    kulki[0].hitTestObject(linia) - BAD