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

时间:2015-04-13 21:46:09

标签: ios objective-c swift sprite-kit

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

2 个答案:

答案 0 :(得分:4)

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

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

编辑: 提问者在Swift中请求了SKFieldNode的一个例子,所以在这里。 对于提出的问题,您要做的是在中心创建一个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

答案 1 :(得分:3)

您可能正在寻找SKFieldNode。有几种不同的类型,所以你必须阅读文档。您可能正在寻找的那个称为radialGravityField