我正试图用这个来设置纹理:
[[self setSpriteByTag] setTexture:[[CCTextureCache sharedTextureCache] addImage:[NSString stringWithFormat:@"%@0001.png",face]]];
当[self setSpriteByTag]
返回一个sprite face
时,它是一个图像字符串,它们都可以,因为我已经记录了它们。
此精灵是ccscrolayer
中网页的子代:
图层页面的一页:
CCLayer *page1 = [[CCLayer alloc] init];
BACK.position=ccp(screenSize.width/2,screenSize.height/2);
[page1 addChild:BACK];
当我试图用我在这里写的命令改变BACK
的图像时。
发生的事情是我看到一个白色的屏幕。
我已检查图像是否在我的资产中。
可能是什么问题? 我更改了一个页面的子级精灵的facr?
编辑
这是给我精灵BACK的函数:
-(CCSprite*)setSpriteByTag
{
int currentPage=[scroller currentScreen];
[globals sharedGlobals].currentPageG=currentPage; //move to touch ended?
currentPage=currentPage+1;
//NSLog(@"PAGE:%d",currentPage);
if(currentPage==1)
{[globals sharedGlobals].WhatFace =@"BeastFace"; return BACK;}
else if(currentPage==2)
{[globals sharedGlobals].WhatFace =@"BlueFace"; return BACK1;}
else if(currentPage==3)
答案 0 :(得分:0)
只有在资源中没有图像的情况下它变白了。我检查了运行相同的代码..它工作正常..如果我把错误的图像名称不存在..它变为白色。 ..请检查图像
[NSString stringWithFormat:@"%@0001.png",face]
确定图像名称中有问题..:)
答案 1 :(得分:0)
[NSString stringWithFormat:@"%@0001.png",face]
您的文件名必须格式为“xxxxx0001.png”。假设face变量是字符串“BeastFace”,那么要加载的文件名将是“BeastFace0001.png”。
到目前为止显而易见但请记住,文件“Beastface0001.png”不会加载到设备上,也不会“beastface0001.png”,因为iOS设备使用区分大小写的文件系统。它可以在iOS模拟器上运行。