我已经问类似的东西,但我无法弄清楚如何正确调试此。 这就是问题 。
我加了一些异常处理程序(捕获所有的Objective-C)例外,这就是什么,我看到的结果是:
该问题是与的SetTexture方法和它在断言验证需要显示纹理名称是否相同的一个在当前子画面批次节点出现故障。
发生这种情况时,试图用另一个更换一个场景,但不会发生所有的时间。 它做的新的场景,我试图通过调用游戏的不同部分替换“隔离”的问题,它仍然无法给予的麻烦。
在游戏场景我有几个精灵表和精灵一批节点,但因为我不设法隔离精灵表ID我无法理解其前景帧是给我的问题,以及我不明白为什么这个发生只是有时。
我想要:
- 了解哪些前景帧的名字给我的AssertionFailure
- 理解到它所属的子画面片
这将有助于我了解,如果它是一个命名问题,或者这个有别的东西要做。
希望不要是这个问题太蹩脚的..
编辑:我试过了答案,但我不能够读取文件名“”的信息,这里是调试器说“摘要不可用”:
这就是我创建的文件名属性:
/** TMP: Bug solving filename */
@property (copy) NSString *fileName;
-(id) initWithTexture:(CCTexture2D*)texture rectInPixels:(CGRect)rect rotated:(BOOL)rotated offset:(CGPoint)offset originalSize:(CGSize)originalSize
{
if( (self=[super init]) )
{
self.fileName = [NSString stringWithFormat:@"GLUINT texture name: %i", texture.name];
self.texture = texture;
rectInPixels_ = rect;
rect_ = CC_RECT_PIXELS_TO_POINTS( rect );
offsetInPixels_ = offset;
offset_ = CC_POINT_PIXELS_TO_POINTS( offsetInPixels_ );
originalSizeInPixels_ = originalSize;
originalSize_ = CC_SIZE_PIXELS_TO_POINTS( originalSizeInPixels_ );
rotated_ = rotated;
}
return self;
}
-(id) initWithTextureFilename:(NSString *)filename rectInPixels:(CGRect)rect rotated:(BOOL)rotated offset:(CGPoint)offset originalSize:(CGSize)originalSize
{
if( (self=[super init]) )
{
self.fileName = fileName; //TMP
texture_ = nil;
textureFilename_ = [filename copy];
rectInPixels_ = rect;
rect_ = CC_RECT_PIXELS_TO_POINTS( rect );
offsetInPixels_ = offset;
offset_ = CC_POINT_PIXELS_TO_POINTS( offsetInPixels_ );
originalSizeInPixels_ = originalSize;
originalSize_ = CC_SIZE_PIXELS_TO_POINTS( originalSizeInPixels_ );
rotated_ = rotated;
}
return self;
}