我正在使用CCLabelBMFont在我的游戏中显示一个非常大的字母。 SD字体大小为300,HD字体大小为600
letter =[CCLabelBMFont labelWithString:@"A" fntFile:@"font-test4.fnt"];
有4个支持文件(font-test4.fnt / -hd.fnt和font-test4.png / -hd.png
在两种模拟器模式(视网膜和非视网膜)中一切正常。
然而,当在iPhone4上运行时,CCLabelBMFont类在完整性检查时断言
// scaleW。理智检查
propertyValue = [nse nextObject];
NSAssert( [propertyValue intValue] <= [[CCConfiguration sharedConfiguration] maxTextureSize], @"CCLabelBMFont: page can't be larger than supported");
// scaleH。理智检查
propertyValue = [nse nextObject];
NSAssert( [propertyValue intValue] <= [[CCConfiguration sharedConfiguration] maxTextureSize], @"CCLabelBMFont: page can't be larger than supported");
我不知道为什么会这样。
答案 0 :(得分:0)
您达到了最大纹理大小限制。检查位图字体的png文件,特别是HD变体。如果它在任一维度(宽度或高度)上大于2048像素,则只有iPad 2(使用iOS 5.1),iPad 3和iPhone 4S可以加载该纹理。这些设备最多支持4096x4096纹理,旧设备仅支持2048x2048。
除此之外,字体大小为300/600的字体非常大。您应该考虑采用其他方法来实现您想要实现的目标,因为如此大的字体大小会浪费(仍然是宝贵的)内存。
模拟器并不关心这些问题。它在你的Mac上运行,可以使用你所有的Mac内存和其他资源。