2012-10-06 8 views
14

का उपयोग कर एक परत से ऑब्जेक्ट्स को निकालना मैं वर्तमान में KineticJS से संबंधित एक प्रोजेक्ट पर काम कर रहा हूं।KineticJS

मुझे गतिशील रूप से आकारों को गतिशील रूप से बनाना और हटाना है, लेकिन बाद में ऐसा करने का तरीका नहीं लग रहा है। मैं ऐसा करने की कोशिश कर रहा हूं:

$ myLayer.remove(myShape) 

क्योंकि यह सबसे अधिक पोस्ट अनुशंसा करता है। लेकिन, दस्तावेज कहता है कि यह परत से परत को हटा देगा, न कि परत से आकार। जब मैं प्रोजेक्ट में कोशिश करता हूं तो यह वास्तव में मंच से परत को हटा देता है।

तो क्या मैं कुछ गलत कर रहा हूं या परत से आकार निकालने का कोई और तरीका है?

+4

के प्रोटोटाइप का उपयोग कर सकते अगर वहाँ एक बेहतर तरीका है मैं नहीं जानता, लेकिन गतिज js कोड के कुछ पढ़ने के बाद। मैंने पाया कि क्या मैं myShape.remove() को परत से हटा देता हूं। – user1724623

+0

धन्यवाद! उपयोगी जानकारी – tetris11

उत्तर

16

दो कार्य हैं जो सहायक हो सकते हैं।

  • childContainer.remove() बच्चे के संयोजक को इसके माता-पिता से हटा देता है।
  • parentContainer.removeChildren() इस कंटेनर से सभी बच्चों को हटा देता है।

संपादित करें: यह आकारों पर भी लागू हो सकता है। बस परत को दोबारा हटा दें।

myShape.remove(); 
myLayer.draw(); 
+1

thanx, मैं बस यह जानना चाहता था! यह पता चला कि आपको परत को फिर से निकालने की आवश्यकता नहीं है, इसे हटाने के तुरंत बाद इसे हटा दिया गया है। – luschn

+0

इसे फिर से कैसे पुनर्स्थापित करें ?? –

+0

@MahdiAlkhatib यदि आपके पास अभी भी बच्चों का संदर्भ है तो बस उन्हें परत/कंटेनर – BenMQ

2

कहीं भी किनेटिक 4.0 और नवीनतम संस्करण के बीच, हटाएं (बच्चे) काम करना बंद कर दिया। removeChild (बच्चा) या तो काम नहीं करता है।

मैंने child.remove() का उपयोग करके इस समस्या का समाधान किया;

0

यू गतिज समारोह

Kinetic.Node.prototype.remove.call(removed_object);

baselayer.draw();

संबंधित मुद्दे