如何在精灵套件游戏中改变重心?

我一直在努力寻找,但没有成功。 有没有办法以这种方式改变物理世界的重力属性,物体不会被吸引到屏幕的底部,而是到它的中心呢?

使用一个SKFieldNode的。 只要把它放在你的地图的中心,通过放置代码来禁用重力,将重力设置为零( CGVector(0,0)

我会给你代码,但是我不使用Objective C,所以我不知道它的确切语法。 我可以给它一个虽然… [physicsBody setGravity: CGVector(0,0)]; 请注意,我没有任何想法,如果这是正确的语法

编辑:提问者要求在斯威夫特SKFieldNode的一个例子,所以在这里。 对于所问的问题,你会做的是在中心创build一个Radial Gravity Field节点。 这段代码进入GameScene.swift(或.m,如果你使用Objective C,并确保你改变语法到Obj-C)。

 let gravField = SKFieldNode.radialGravityField(); // Create grav field gravField.position.x = size.width/2; // Center on X axis gravField.position.y = size.height/2; // Center on Y axis (Now at center of screen) addChild(gravField); // Add to world 

您可能正在寻找SKFieldNode 。 有几种不同的types,所以你将不得不阅读文档。 你可能正在寻找的radialGravityFieldradialGravityField