पर हस्ताक्षर करें। मैं यह निर्धारित करने की कोशिश कर रहा हूं कि कपड़े कब होता है। 'ऑब्जेक्ट: मूविंग' ईवेंट को देखते हुए जांच करें लेकिन कपड़े के बीच असंगत परिणाम प्राप्त करें। समूह बनाम कपड़े। संदर्भFabricjs intersectsWithObject ऑब्जेक्ट कपड़े होने पर झूठी लौट रहा है।
जब मैं एक रेक्ट उदाहरण intersectsWithObject विधि सच रिटर्न से अधिक समूह ले जाते हैं, लेकिन जब मैं एक और रेक्ट उदाहरण पर एक रेक्ट उदाहरण चलती हूँ यह गलत देता है।
मैं अगर मैं गलत यहाँ कुछ कर रहा हूँ सोच रहा हूँ।
यहाँ मेरी ईवेंट हैंडलर
cvs.observe('object:moving', function(e) {
var targ = e.target;
// filter out itself
var items = cvs.getObjects().filter(function(o){
return targ !== o;
});
var hit = false;
for (var i = 0, n = items.length; i < n; i++) {
var m = items[i];
if (targ.type == "group") {
if (targ.intersectsWithObject(m)) {
targ.setFill("red");
hit = true;
console.log("GROUP HIT");
} else {
if (!hit) {
targ.setFill("#CCCCCC");
}
}
}
else {
// this is always returning false! why?
if (targ.intersectsWithObject(m)) {
var id = m.data ? m.data.entityId : " ??"
console.log("OBJECT HIT:" + id);
targ.setFill("red");
}
}
}
});
है मैं एक बेला बना लिया है। उन्हें समूह में दो या अधिक ब्लॉकों का चयन करके देखें। आप समूहीकृत वस्तु लाल हो जाने पर यह किसी भी अन्य fabric.Rect या fabric.Group उदाहरण के ऊपर खींच लिया है देखेंगे। जब आप किसी भी प्रकार का एक और fabric.Object आने वाले एक रेक्ट खींचें, यह कभी नहीं लाल intersectsWithObject हमेशा गलत लौटा रहा है के रूप में बदल जाता है ...
http://jsfiddle.net/cyberpantz/9MkYJ/27/
setCoords() यह होता है, महान! – cincplug