Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
精灵套件和寻路,iPad和iPhone的区别?_Iphone_Xcode_Ipad_Freeze_Path Finding - Fatal编程技术网

精灵套件和寻路,iPad和iPhone的区别?

精灵套件和寻路,iPad和iPhone的区别?,iphone,xcode,ipad,freeze,path-finding,Iphone,Xcode,Ipad,Freeze,Path Finding,我想知道iPad和iPhone之间是否有显著的区别? 我正在用Sprite工具包、SKD 8.1和target iOS 7.1开发一款游戏 在测试期间,游戏使用*寻路来移动我地图上的2个角色。 我遇到的问题是当角色寻找路径时 在我的iPad4上,16gb的寻路功能在角色寻找路径时冻结。 在我的iphone6和iphone4上,它工作得完美无缺 它在模拟器iPadRetina、iPhone4和iPhone6上运行良好,游戏中没有冻结,只有在我的iPad4上 我错过了什么吗?这款游戏是为iPhone

我想知道iPad和iPhone之间是否有显著的区别? 我正在用Sprite工具包、SKD 8.1和target iOS 7.1开发一款游戏

在测试期间,游戏使用*寻路来移动我地图上的2个角色。 我遇到的问题是当角色寻找路径时

在我的iPad4上,16gb的寻路功能在角色寻找路径时冻结。 在我的iphone6和iphone4上,它工作得完美无缺

它在模拟器iPadRetina、iPhone4和iPhone6上运行良好,游戏中没有冻结,只有在我的iPad4上

我错过了什么吗?这款游戏是为iPhone和iPad开发的。 非常感谢你的帮助

-(NSArray*)nearbyBlocks:(SKNode*)blocks {

    NSMutableArray *tmp = [NSMutableArray arrayWithCapacity:4];
    NSArray *leftB = [blocks.name componentsSeparatedByString:@"_"];

    /* LEFT */
    SKNode *b = [background childNodeWithName:[NSString stringWithFormat:@"block_%i_%i", [[leftB objectAtIndex:1] intValue]-1, [[leftB objectAtIndex:2] intValue]]];
    if ([blockArrayWalk containsObject:b]) {
        [tmp addObject:b];
    }

    /* RIGHT */
    b = [background childNodeWithName:[NSString stringWithFormat:@"block_%i_%i", [[leftB objectAtIndex:1] intValue]+1, [[leftB objectAtIndex:2] intValue]]];
    if ([blockArrayWalk containsObject:b]) {
        [tmp addObject:b];
    }

    /* UP */
    b = [background childNodeWithName:[NSString stringWithFormat:@"block_%i_%i", [[leftB objectAtIndex:1] intValue], [[leftB objectAtIndex:2] intValue]+1]];
    if ([blockArrayWalk containsObject:b]) {
        [tmp addObject:b];
    }

    /* DOWN */
    b = [background childNodeWithName:[NSString stringWithFormat:@"block_%i_%i", [[leftB objectAtIndex:1] intValue], [[leftB objectAtIndex:2] intValue]-1]];
    if ([blockArrayWalk containsObject:b]) {
        [tmp addObject:b];
    }

    return [NSArray arrayWithArray:tmp];
}
我现在运行了时间分析器,当角色寻找路径时,它会出现峰值。对childNodeWithName的搜索为黄色,占24%。。。每次路径找到下一个块时都会调用nearbyBlocks,因此会根据路径长度多次调用它


问题是,我需要使用SKNodes,因为如果有人正在移除下面的块,字符可能会掉下来。。。可能很快就会放弃游戏理念

使用仪器进行配置,以查看时间花在何处。这里没有任何信息可以让任何人诊断您的问题。我是xcode的新手:谢谢您的提示,我会在下班后做这件事,并发布更多信息: