Wenn bin1
und item
beide Displayobjects sind, die ich sehe nicht, wie sie nicht sein könnte (Display ist eine Basisklasse, die von einer Reihe von anderen wie MovieClip- und Sprite erweitert wird), dann sollten Sie in der Lage sein, um selbst ein wenig schnell und schmutzig Berechnung zu machen. Die Art und Weise, wie Sie Ihre Frage formulierten, ließ mich glauben, dass bin1
und item
ihren Ursprung in der oberen linken Ecke haben. Sie sollten diesen Code verwenden können, um zu sehen, ob die vollständigen Rechtecke, die beide bewohnen, nicht alle sind dass genau, wenn die Objekte gedreht werden, aber es klingt wie das ist fast, was Sie suchen:
if(Math.abs((bin1.x+bin1.width/2)-(item.x+item.width.2)) < bin1.width/2 + item.width/2 &&
Math.abs((bin1.y+bin1.height/2)-(item.y+item.height/2)) < bin1.height/2 + item.height/2)
updateShape(item,bin1);
wenn ihre Herkunft nicht tatsächlich in der oberen linken und zentriert sind, entfernen Sie die alle .width/2
und .height/2
Teile mit den Teilen .x
und .y
in den Klammern. Hoffentlich hilft das!
was meinst du "ohne so genau zu sein?" –
da es nur das andere Objekt erkennen kann, wenn es die obere linke Kante berührt, kann es nicht erkennen, wenn es an einen anderen Ort gezogen wird. – CHIGGAJX
Mögliches Duplikat von [Bitmap hittesting in AS3] (http://stackoverflow.com/questions/13046930/bitmap-hittesting-in-as3) –