我正在构建一个永远在滚动地面的游戏。 地面有一些洞,并且当球员落入一个洞时比赛结束。 我可以滚动背景。 但我无法滚动有PhysicsBody(玩家可以站立)的“地面”。永远在SpriteKit中滚动地面
我试过2种方式,就像这样。
1)使用JSTilemap滚动TileMap 它让游戏运行如此缓慢,并且它不会永远滚动。
2)从地面图像文件中滚动SpritNode。 当我使用[SKPhysicsBody bodyWithTexture]时,出现“PhysicsBody:Could not create physics body”的错误。
哪种方式更好? 和,没有其他方法吗?
感谢,
你可以在运行时创建易于物理机构所以我的建议是这样创造无尽的运行背景,包含了所有的孔和平台,但附加物理身体只有孔和平台时,他们都在里面展示区和删除他们当他们不在显示区域时,即使在较低的存储设备上也会给你一个平滑的感觉,因为你只创建了很少的物理实体。 – dragoneye 2014-11-05 05:39:35
非常感谢您的回复,dragoneye! 如何创建物理实体仅可见区域? – mmmmmadoka 2014-11-05 05:45:00
通过扩展SKSpriteNode或SKnode(它是SKSpriteNode或SKnode的子类)创建一个新的类洞,现在创建该类的布尔属性假设isPhysics,所以当您创建该类的新类的实例isPhysics现在是错误的 - ( void)update:(CFTimeInterval)currentTime {函数检查孔类的位置,如果它的内部显示区域附加了一个物理体,并使isPhysics为true,那么当您的代码不会再次附加物理体并删除该物理体时在可见区域之外。 – dragoneye 2014-11-05 06:20:03