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