我知道如何在屏幕上显示这些信息,但我想将它们记录在文件/控制台中以进行离线调查。我怎么能这样做?
答案 0 :(得分:0)
您可以使用场景- (void)update
方法自行测量。这个方法调用每个帧都需要计算。
- (void)update
{
self.frameCount++; // increase frame count value
uint64_t currentTime = mach_absolute_time(); // get current time
// according to this two values and last update method call time you're already can calculate the fps
self.lastUpdateTick = currentTime; // remember for the future method call
}
要获取节点计数值,您应该只计算所有场景子节点的子节点。它可能是某种递归算法(未经过测试)。
- (NSUInteger)childrenOf:(SKNode *)node
{
NSUInteger count = 0;
for (SKNode *child in node.children)
count += [self childrenOf:child] + 1;
return count;
}
- (void)calculateSceneChildrenCount
{
NSUInteger count = [self childrenOf:self];
NSLog(@"count is %lu",count);
}