2013-08-28 6 views
5

मैं अपनी लाइन ग्राफिक() के लिए जेड-इंडेक्स सेट करने की कोशिश कर रहा हूं। मैं लाइन को दो अन्य आकारों के पीछे हमेशा सेट करने की कोशिश कर रहा हूं। Two shapes and one line.जेड-इंडेक्स पोजिशनिंग CreateJS

जहां तक ​​मुझे पता है, पहला तत्व जोड़ा गया है z = 0, दूसरा एक z = 1 है और इसी तरह। ऐसा क्या? क्या z = 0 शीर्ष संभावना है या यह नीचे है?

मैं चरण.सेटChildIndex (तत्व, z-level) का उपयोग करके अपनी जेड स्थिति बदल रहा हूं, क्या यह सही है?

धन्यवाद।

+0

क्या आप कुछ कोड पोस्ट कर सकते हैं? मुझे पूरी तरह से यकीन नहीं है कि उम्मीद क्या है। – Lanny

उत्तर

5

1) कम सूचकांक, 'वापस' में और अधिक आइटम है, इसलिए: 0 = bottom कृपया यह भी ध्यान रखें कि setChildIndex असफल हो जायेगी अगर आप की तरह कुछ प्रयास करें: container.setChildIndex(child,500) अगर आप केवल 4 बच्चे हैं , इसलिए जिस इंडेक्स को आप बच्चे को सेट करना चाहते हैं वह सीमा से बाहर नहीं होना चाहिए। इसका मतलब है कि यदि आप उन्हें सॉर्ट करना चाहते हैं तो आपको सबसे कम इंडेक्स (आमतौर पर 0) से शुरू करना चाहिए।

2) या आप भी जैसे की तरह एक संपत्ति अपने वस्तुओं दे सकता है: child.zIndex = 500; और, अपनी खुद की तरह-विधि तो कंटेनर के sortChildren -method का उपयोग करने के बारे में उदाहरण के लिए:

function sortByZ(a,b) { 
    if (a.zIndex < b.zIndex) return -1; 
    if (a.zIndex > b.zIndex) return 1; 
    return 0; 
} 

myContainer.sortChildren(sortByZ); 

// or a shorter version: 
function sortByZ(a,b) { 
    return a.zIndex - b.zIndex; 
} 

कि जिस तरह से आपको ज़िन्डेक्स सेट करने की चिंता करने की ज़रूरत नहीं है, जो सीमा से बाहर है।

+0

और मैं बच्चों की संख्या को पुनः प्राप्त कर सकता हूं अगर मुझे NumChildren() मिलता है, है ना? धन्यवाद ओल्सन, न केवल मुझे आदेश के बारे में गलत था, लेकिन सूचकांक के बारे में भी। मैं setChildIndex (बच्चा, 200) कर रहा था क्योंकि मैंने सोचा था कि यह एक unbounded सरणी में संग्रहीत किया जाएगा। धन्यवाद! – Cod1ngFree

+0

वैसे, क्या सूचकांक 0 से मिलता है NumChildren()? – Cod1ngFree

+0

हां, यह सही है। उन सभी विधियों को 'getNumChildren() '' setChildIndex() 'मूल रूप से * मूल सरणी-संचालन के लिए * रैपर-फ़ंक्शंस हैं, उदाहरण के लिए' getNumChildren()' केवल 'this.children.length' - और' setChildIndex() को वापस कर देगा। 'सिर्फ इंडेक्स की जांच करेगा और' बच्चों 'सरणी पर एक स्प्लिस ऑपरेशन करेगा - तो अगर आप कुछ सीखना चाहते हैं और हुड के नीचे एक नज़र डालना चाहते हैं: http://www.createjs.com/Docs/EaselJS /files/.._src_easeljs_display_Container.js.html#l331 - यह कुछ बहुत अच्छा कोड है कि gskinner-team ने लिखा :) – olsn

3

buildChildIndex() के लिए createjs मान्य मानों के साथ 0 की संख्या में numChildren() - 1 है। एक कॉल जैसे:

container.setChildIndex(container.numChildren()); 

विफल हो जाएगा।

जब आप बच्चे सूचकांक में वृद्धि करते हैं तो अधिक क्या होता है - उदाहरण के लिए जेड-इंडेक्स 1 वाले बच्चे के लिए 2 में बदलते समय, बच्चे को इंडेक्स 2 पर ऑब्जेक्ट के सामने रखा जाएगा। यदि आप इंडेक्स को आगे बढ़ाते हैं पिछड़ा बच्चा इसे लक्षित स्थिति पर वस्तु के पीछे ले जाया जाएगा। यह भ्रम जोड़ सकता है जब आप सुनिश्चित नहीं हैं कि बच्चे का प्रारंभिक जेड-इंडेक्स क्या है।

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