gratis game creator cocos2d cocos ios cocos2d-iphone

ios - cocos2d - cocos game creator



AƱadir spriteframe desde la carpeta de documentos en Cocos2D-v2 (1)

Hmmm ... nunca usé una ruta relativa, pero esto funciona para mí:

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

que en este caso cede en el registro

-[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

De esta forma puede calcular la ruta absoluta y protegerse de posibles cambios en el entorno. Además, CCSpriteFrameCache probablemente tendrá en cuenta el hecho de que la ruta es absoluta y se comporta de manera adecuada.

Finalmente, el .plist incrusta el nombre de la textura, y puede surgir confusión. Uso otro constructor para cargar el caché, así:

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

Necesito agregar spriteframe descargado (plist / png set) de la carpeta Documents a la caché de spriteframe en Cocos2D v2.

Tenía esta base de código funcionando durante mucho tiempo, pero ya no funciona y ahora no puedo entender cómo agregar contenido de spriteframe que no existe en la raíz del paquete.

Por lo que parece, solía agregar el plist / png par de spriteframes usando una ruta relativa y enviar eso a CCSpriteFrameCache. Algo así como ../Documents/hosteddownloads/somespriteframe.plist etc. Normalmente solo enviaría myspriteframe.plist a [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:spriteframefile]; .

Conozco el camino relativo desde el paquete al plist y al png. Si solo pudiera hacer CCSpriteFrameCache cargar las cosas si acabo de especificar esas rutas ...