ios - Cocos2D-v2 में दस्तावेज़ फ़ोल्डर से spriteframe जोड़ें



cocos2d-iphone (1)

मुझे डॉक्यूमेंट्स फ़ोल्डर से डाउनलोड किए गए स्प्रीटफ्रेम (प्लास्ट / पीएनजी सेट) को कोकोस 2 डी वी 2 में स्प्रीटफ्रेम कैश में जोड़ने की आवश्यकता है।

मुझे यह कोडबेस एक लंबे समय से काम कर रहा था, लेकिन यह अब और काम नहीं करता है और मुझे अभी पता नहीं लगा है कि बंटल की जड़ में मौजूद स्प्राइटफ़्रेम सामग्री को कैसे जोड़ना है।

यह कैसा दिखता है, से मैं एक रिश्तेदार पथ का उपयोग करके spristframes के plist / png जोड़ी को जोड़ने के लिए इस्तेमाल किया और उसे CCSpriteFrameCache को भेज दिया। कुछ ऐसा ही है ../Documents/hosteddownloads/somespriteframe.plist आदि। आम तौर पर आप myspriteframe.plist को [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:spriteframefile];

मैं बंडल से रिश्तेदार पथ को plist और png को जानता हूं। अगर केवल मैं सीसीएसप्रिाइटकैच को सामान लोड कर सकता हूं अगर मैंने उन रास्तों को अभी निर्दिष्ट किया है ...


हम्म् ... किसी रिश्तेदार पथ का इस्तेमाल कभी नहीं किया, लेकिन यह मेरे लिए काम करता है:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * _documentDir = [paths objectAtIndex:0];
NSString *fqn = [_documentDir stringByAppendingPathComponent:@"filename.plist"];
TRACE(@"%@", fqn);

जो इस मामले में लॉग में पैदावार करता है

-[GEFileUtil init] : /Users/yvesleborg/Library/Developer/CoreSimulator/Devices/FBF0C759-4ECB-468D-99FC-6BDA9982351A/data/Containers/Data/Application/2FF9D117-3763-4AE2-A1FA-4B25E1308CC2/Documents/filename.plist

इस तरह आप संपूर्ण पथ की गणना कर सकते हैं, और पर्यावरण में संभावित परिवर्तनों से स्वयं को सुरक्षित रख सकते हैं। इसके अलावा, सीसीएसप्रिफफ्रेमकैच शायद इस तथ्य को ध्यान में रखेगा कि पथ निरपेक्ष है और उचित तरीके से व्यवहार करता है।

अंत में, .पीलिस्ट बनावट के नाम को एम्बेड करती है, और भ्रम का कारण बन सकता है। कैश को लोड करने के लिए मैं एक और निर्माता का उपयोग करता हूं, जैसे:

NSString *plist = [_documentDir stringByAppendingPathComponent:@"filename.plist"];
NSString *png   = [_documentDir stringByAppendingPathComponent:@"filename.png"];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:plist textureFilename:png];