我一直在尝试寻找,但没有成功。是否有一种方法可以更改物理世界的重力属性,使对象不会被吸引到屏幕底部,而是被吸引到屏幕中心?
我一直在尝试寻找,但没有成功。是否有一种方法可以更改物理世界的重力属性,使对象不会被吸引到屏幕底部,而是被吸引到屏幕中心?
SKFieldNode
可实现此功能。将其放置在地图中央,并通过设置重力为零(CGVector(0,0)
)来禁用重力。
我可以给你代码,但我不使用Objective C,所以我不知道确切的语法。我可以试一试... [physicsBody setGravity: CGVector(0,0)];
请注意,我不知道这是否是正确的语法。
编辑:
请求者要求提供Swift中SKFieldNode的示例,这里是一个示例。对于所问的问题,您需要在中心创建一个径向引力场
节点。该代码位于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