首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKPhysicsBody减速程序

SKPhysicsBody减速程序
EN

Stack Overflow用户
提问于 2014-12-14 03:18:35
回答 2查看 214关注 0票数 1

我有一个随机的迷宫发生器,它开始建造小迷宫,然后进入巨大的水平。“C”是收藏品,“T”是瓷砖。"P“是球员的起始位置。我在下面附上了一张瓷砖地图样本。

性能问题不是像这里这样的小6x12模式;例如,当我有一个20x20模式时,它就会出现。

每个字符都是一个瓷砖,每个瓷砖都有自己的SKPhysicsBody。这些瓷砖不是方形的,它们是复杂的多边形,而且瓷砖之间不太接触。

“C”需要一次只能移除一个,而“T”对于这个级别是永久的,不能移动。此外,迷宫一次只显示6x4块瓷砖,并将背景移动到以播放器为中心的视图。

--我已经尝试过制作T和C的矩形,这大大提高了性能(但速度仍然比预期的要慢),尽管用户不关心这一点,但是瓷砖的形状太不一样了。

你的专业人士有什么表演技巧可以用来解决这个问题吗?

代码语言:javascript
复制
TTTTTT
TCTTCT
TCCCCT
TTCTCT
TCCTCT
TTCCTT
TTTCTT
TTCCCT
TCCTCT
TCTTCT
TTCCCT
TTPTTT
EN

回答 2

Stack Overflow用户

发布于 2014-12-14 10:31:45

瓷砖不是方形的,它们是复杂的多边形。

我觉得这是你的问题。此外,如果你的身体是动态的,设置它们的静态将大大提高性能。您也可以尝试联营。请注意,模拟器上的性能比实际设备上的性能要低得多。

票数 1
EN

Stack Overflow用户

发布于 2014-12-14 22:47:29

你用的是哪种碰撞方法?

SpriteKit提供了几种定义SKPhysicsBody形状的可能性。最佳性能提供矩形或圆圈:

代码语言:javascript
复制
myPhysicsBody = SKPhysicsBody(rectangleOfSize: mySprite.size)

您还可以定义更复杂的形状,如三角形,这些形状的性能较差。

使用纹理(SpriteKit将使用所有非透明像素自行检测形状)的性能最差:

代码语言:javascript
复制
myPhysicsBody = SKPhysicsBody(texture: mySprite.texture, size: mySprite.size)

激活“usesPreciseCollisionDetection”也会对你的表现产生负面影响。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27465992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档