【问题标题】:How to change center of gravity in sprite kit game?如何在精灵套件游戏中改变重心?
【发布时间】:2015-04-13 21:46:08
【问题描述】:

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

【问题讨论】:

    标签: ios objective-c swift sprite-kit


    【解决方案1】:

    为此使用@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
    

    【讨论】:

    • 谢谢!我猜你用swift编码?我确实知道 swift,实际上目前我正在将应用程序转换为 swift 自己。我从未使用过 SKFieldNode,所以能否请您包含快速代码,以便我提供一些示例?谢谢!
    【解决方案2】:

    您可能正在寻找SKFieldNode。有几种不同的类型,因此您必须阅读文档。您可能正在寻找的是radialGravityField。

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 2011-06-09
      相关资源
      最近更新 更多