我有一个随机的迷宫发生器,它开始建造小迷宫,然后进入巨大的水平。“C”是收藏品,“T”是瓷砖。"P“是球员的起始位置。我在下面附上了一张瓷砖地图样本。
性能问题不是像这里这样的小6x12模式;例如,当我有一个20x20模式时,它就会出现。
每个字符都是一个瓷砖,每个瓷砖都有自己的SKPhysicsBody。这些瓷砖不是方形的,它们是复杂的多边形,而且瓷砖之间不太接触。
“C”需要一次只能移除一个,而“T”对于这个级别是永久的,不能移动。此外,迷宫一次只显示6x4块瓷砖,并将背景移动到以播放器为中心的视图。
--我已经尝试过制作T和C的矩形,这大大提高了性能(但速度仍然比预期的要慢),尽管用户不关心这一点,但是瓷砖的形状太不一样了。
你的专业人士有什么表演技巧可以用来解决这个问题吗?
TTTTTT
TCTTCT
TCCCCT
TTCTCT
TCCTCT
TTCCTT
TTTCTT
TTCCCT
TCCTCT
TCTTCT
TTCCCT
TTPTTT发布于 2014-12-14 10:31:45
瓷砖不是方形的,它们是复杂的多边形。
我觉得这是你的问题。此外,如果你的身体是动态的,设置它们的静态将大大提高性能。您也可以尝试联营。请注意,模拟器上的性能比实际设备上的性能要低得多。
发布于 2014-12-14 22:47:29
你用的是哪种碰撞方法?

SpriteKit提供了几种定义SKPhysicsBody形状的可能性。最佳性能提供矩形或圆圈:
myPhysicsBody = SKPhysicsBody(rectangleOfSize: mySprite.size)您还可以定义更复杂的形状,如三角形,这些形状的性能较差。
使用纹理(SpriteKit将使用所有非透明像素自行检测形状)的性能最差:
myPhysicsBody = SKPhysicsBody(texture: mySprite.texture, size: mySprite.size)激活“usesPreciseCollisionDetection”也会对你的表现产生负面影响。
https://stackoverflow.com/questions/27465992
复制相似问题