【发布时间】:2014-05-31 17:44:41
【问题描述】:
我正在将不同的文本加载到 SKLbeNode 中,它在 iPhone5、模拟器等上运行良好……但在 iPhone4 上,我有时只会得到一条黑线,而不是文本。
奇怪的是总是相同的文本导致失败,但我不知道发生了什么。
代码是:
ButtonText=@"";
ButtonLabel=[SKLabelNode labelNodeWithFontNamed:@"Marker Felt"];
ButtonLabel.fontSize=46;
ButtonLabel.text=ButtonText;
ButtonLabel.position=CGPointMake(0, 0);
ButtonLabel.verticalAlignmentMode=SKLabelVerticalAlignmentModeCenter;
ButtonLabel.horizontalAlignmentMode=SKLabelHorizontalAlignmentModeCenter;
ButtonLabel.colorBlendFactor=1.0f;
当我更改文本时,只需使用
ButtonLabel.text=NewString;
可能是什么问题?
【问题讨论】:
-
“NewString”的确切文本是什么?您是否检查过它是非零并且是实际的 NSString (CFString) 对象?试试:NSLog(@"%@ %@", NewString, NSStringFromClass([NewString class]);
-
您好,感谢您的建议。这是 NSLog 行返回的内容。 “Hány olimpiai bajnokságot nyert Kemény Dénes a vízilabdázóival?__NSCFString”。在 iPhone5 或模拟器上也是如此,但在 iPhone 上我看不到文本,只是呈现文本行大小的一种黑色占位符。
-
该软件是一个问答游戏,可以从网络服务下载问题,并附上答案。大多数问题在 iPhone 4 上也可以并且可见,但总是相同的问题会产生这种愚蠢的效果。实际上,由于兼容性问题,我正在将游戏从 cocos2d 更改为 sprite kit,因为我想稍后将游戏移植到 OSX。
-
我只是将 NewString.length 添加到 NSLog 中。在 iPhone4 上产生问题的所有 NSStrings 等于或长于 54 个字符,这可能是某种限制_
-
我已将字体类型从 Marker Felt 更改为 Verdana。现在,当文本长度为 44 个字符或以上时,它会失败。这一定是 Sprite Kit 中的错误。
标签: sprite-kit iphone-4 sklabelnode