gpt4 book ai didi

ios - SpriteKit : Collisions with 300 nodes, FPS 非常低

转载 作者:行者123 更新时间:2023-12-02 02:29:44 25 4
gpt4 key购买 nike

我想制作一个简单的 SpriteKit 应用程序,我可以在其中添加“岩石”,然后它们会落到屏幕底部。就像这样:http://aamukasa.fi/II-13-347 。实现非常简单,但是当节点超过 100 个时,我会遇到巨大的性能问题。当所有方 block 碰撞在一起时,FPS 会低于 10。有没有办法以良好的 FPS 和大约 300-400 block 来实现这种功能?

@implementation MyScene

-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
/* Setup your scene here */

self.backgroundColor = [SKColor colorWithWhite:1 alpha:1];
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.scaleMode = SKSceneScaleModeAspectFit;


}
return self;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */

for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];

SKSpriteNode *rock = [[SKSpriteNode alloc] initWithColor:[SKColor blackColor] size:CGSizeMake(20,10)];
rock.position = location;
rock.name = @"rock";
rock.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:rock.size];
[self addChild:rock];

}
}

-(void)update:(CFTimeInterval)currentTime {
/* Called before each frame is rendered */
}

@end

最佳答案

您可能想尝试为您的岩石提供圆形物理体。我认为这不会解决问题,但可能会稍微提高帧率!据我所知,圆形物理体的性能比矩形物理体更好。

关于ios - SpriteKit : Collisions with 300 nodes, FPS 非常低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com