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



我一直试图找到,但没有成功。有没有办法改变物理世界的重力属性,使物体不会被吸引到屏幕底部,而是被吸引到屏幕的中心?

为此

使用SKFieldNode。只需将其放置在地图的中心,并通过输入将重力设置为零的代码来禁用重力(CGVector(0,0)

我会给你代码,但我不使用Objective C,所以我不知道它的确切语法。不过我可以试一试... [physicsBody setGravity: CGVector(0,0)];请注意,我不知道这是否是正确的语法

编辑:提问者请求了一个 Swift 中的 SKFieldNode 示例,所以它就在这里。对于提出的问题,您要做的是在中心创建一个Radial Gravity Field节点。此代码位于 GameScene.swift(如果您使用的是 Objective C,则为 .m,并确保将语法更改为 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。有几种不同的类型,因此您必须阅读文档。您可能正在寻找的那个叫做 radialGravityField .

最新更新