【发布时间】:2015-04-13 21:46:08
【问题描述】:
我一直在努力寻找,但没有成功。有没有办法以这种方式改变物理世界的重力属性,使物体不会被吸引到屏幕底部,而是被吸引到屏幕的中心?
【问题讨论】:
标签: ios objective-c swift sprite-kit
我一直在努力寻找,但没有成功。有没有办法以这种方式改变物理世界的重力属性,使物体不会被吸引到屏幕底部,而是被吸引到屏幕的中心?
【问题讨论】:
标签: ios objective-c swift sprite-kit
为此使用@987654321@。只需将其放在地图的中心并通过将重力设置为零的代码来禁用重力 (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。
【讨论】: