2011-02-23 10 views
7
  • convertToWorldSpace

हाय, मुझे यकीन है कि मैं समझता हूँ कि यह कैसे काम करता नहीं हूँ। एपीआई कहता है कि यह स्थानीय समन्वय को विश्व अंतरिक्ष में परिवर्तित करता है।convertToWorldSpace - Cocos2d

मान लें कि मेरे पास तीन sprites हैं। spriteA दृश्य में जोड़ा, और spriteB spriteA में जोड़ा गया। और spriteC spriteB में जोड़ा गया।

- Scene 
    - spriteA 
     - spriteB 
      - spriteC 

और मैं दुनिया

को spriteC मूल कन्वर्ट करने के लिए, तो मुझे क्या करना चाहते हैं: [self convertToWorldSpace:[spriteC CGPointZero]];

या इस: [spriteA convertToWorldSpace:[spriteC CGPointZero]];

या इस: [spriteB convertToWorldSpace:[spriteC CGPointZero]];

या यहाँ तक कि [spriteC convertToWorldSpace:[spriteC CGPointZero]];

क्या वे सभी एक ही जवाब नहीं दे सकते क्योंकि वे सभी विश्व निर्देशांक में परिवर्तित हो गए हैं? या मैं एक नोड स्पेस से पैरेंट नोड स्पेस तक जाता हूं ... जब तक कि मैं विश्व स्थान तक नहीं पहुंच जाता।

विश्व निर्देशांक में spriteC स्थिति देखने के लिए सही उत्तर क्या है?

उत्तर

0
[spriteC convertToWorldSpace:[spriteC CGPointZero]]; 

कन्वर्ट टॉवर्ल्डस्पेस: विधि एक नोड स्पेस को पैरेंट नोड स्पेस में परिवर्तित करती है ... जब तक यह दुनिया की जगह तक नहीं पहुंच जाती।

1
[spriteC convertToWorldSpace:CGPointZero]; 

Kazuki उत्तर के रूप में लेकिन CGPointZero एक वैश्विक है।

4

spriteC पर दुनिया अंतरिक्ष मूल प्राप्त करने के लिए आपको इस मामले spriteB में स्प्राइट माता पिता लेते हैं, और अपने बच्चे की दुनिया अंतरिक्ष के लिए पूछना:

[spriteB convertToWorldSpace:[spriteC CGPointZero]];